AND-100: Add annotations (blocking calls).

I'd prefer to report the Exceptions providing the cause. The way is done now, if client code needs to distinguish which was the cause (ie - for showing one error message or another) the only way is to string matching. We are losing the meaning that class of the originating exception carries, and we are making imposible to handle exception using a try - catch mechanism.
Also, providing message of which operation failed is also handy.
I would:

try {
  [...]
} catch (UnsupportedEncodingException e) {
            throw new MendeleyException("Could not encode the URL for getting annotations", e);
}