Improvements in fetching uniprot entry using uniprot accession id

Improvements:
1. added uniprot id pattern matching to fail-fast on wrong uniprot ids
2. added retrying netwrok request if id is not available immediately
3. bubbling-up the error codes in case uniprot servers are down