Redesign database related shadows

Removes a lot of shadows connected with `SQLiteDatabase` and `Cursor`, makes Robolectric behaviour much closer to how real Android behaves.

Instead of a bunch of removed shadows we introduce implementations of `SQLiteConntection` and `CursorWindow` based on [sqlite4java](https://code.google.com/p/sqlite4java/). This approach let us drop a lot of shadowing code and use real Android classes. However both implemented classes belong to a hidden Android API, which means we should be careful when add some new Android API level to what is supported by Robolectric (especially adding 2.x APIs).

Worth to mention in release notes:
- `SQLiteDatabase#openDatabase` opens on-disk database until its `path` parameter is set with `":memory:"` value;
- `DatabaseConfig` annotation is gone
- some methods from the shadowed db are gone:
    - in `SQLiteDatabase`: `setThrowOnInsert`, `hasOpenCursors`, `getQuerySql`, `getConnection`

----
*History notes*

Some time ago I faced with some inconsistencies in shadows of cursors and started digging first removing shadow of matrix cursor and then...
This request is not a merge candidate right now but rather a proposal.

I'm playing with removing cursor shadows completely and shadowing only `SQLiteConnection` and `CursorWindow` instead ([ShadowSQLiteConnection](https://github.com/roman-mazur/robolectric/blob/cursor/src/main/java/org/robolectric/shadows/ShadowSQLiteConnection.java), [ShadowCursorWindow](https://github.com/roman-mazur/robolectric/blob/cursor/src/main/java/org/robolectric/shadows/ShadowCursorWindow.java)).

I've already made some progress in this direction and have some of database related tests passing. And now I'd like someone from the main team to take a look at the approach and start discussion. Perhaps it's not the way worth to be implemented.

Currently I have 2 main points that do not allow me to sleep sweetly:
* `SQLiteConnection` belongs to hidden API, and I'm not pretty sure what to do with old Android versions.
* Current JDBC driver cannot always satisfy needs of Android internal calls like [providing number of columns without making a real query](https://github.com/roman-mazur/robolectric/blob/102251b1d1361f3696afecb7d2b4de08c692f828/src/main/java/org/robolectric/shadows/ShadowSQLiteConnection.java#L174) or [registering custom collators](https://github.com/roman-mazur/robolectric/blob/102251b1d1361f3696afecb7d2b4de08c692f828/src/main/java/org/robolectric/shadows/ShadowSQLiteConnection.java#L240). So that to have everything implemented right we should switch to some Java wrapper for direct SQLite API.

So please take a look and tell what you think: should I go on or would I rather stop, delete this branch, and forget :).