[questions] First attempt at adding Account Observable

This is a rough draft, produced from code, I have been using for a while already.

Note, that unlike most other operators in the library `OnSubscribeAddAccount` is left public to allow people to better adjust it for various needs - the code is already too sophisticated and does too much to try and stuff everything in bunch of static methods.

Before finishing this, I would like to know answers to following questions:

1) How do I test it? Robolectric 2.3 does not have proper shadow for AccountManager, so should I just write my own? By the way, are there plans to update to Robolectric 2.4, perhaps by employing [SDK manager plugin](https://github.com/JakeWharton/sdk-manager-plugin) to fetch dependencies? I am aware of [#1369](https://github.com/robolectric/robolectric/issues/1369), but at current rate it is not going resolve itself.
2) What are project guidelines (ok, what _should_ those be) regarding use of annotations? Complex AccountManager methods need `@Nullable` annotation rather badly, but which one to choose? Android ones? IntelliJ ones (used so far, because they are easiest to get). Perhaps, something more complex (Checker Framework)?
This method is too long and too deeply nested. Please break it up in smaller, bite sized chunks that I can digest :-)