DB code refactor

up to babbfc6 :
DbHelper, SQLiteDatabase, AccountsDbAdaper, TransactionsDbAdapter, SplitsDbAdapter  moved to `GnuCashApplication`. Static methods are added to GnuCashAplication to get DbAdapters. DbHelper, SQLiteDatabase, DbAdapters now are only created in `GnuCashApplication`'s `onCreate`, and later retrieved by the static methods. DbAdapter does not use Context any more.

Modified some cursor related code. Moved cursor.close() to try/finally blocks, and removed null checked for cursors.

Added `Nullable`, `NonNull` annotations to DbAdapters, Account/Transation/Split, and some related methods. These annotations would not affect generated code, but can help identify possible bugs before/during compile.
You would still need to check for null in the finally block because if the cursor is null, c.close() would still throw an NPE. Correct me if I'm wrong, but I think the old code flow was more suited to this.