Ensure that calculated_deps.js is always updated.
Split code out of com.qwirx.freebase.Freebase.

Rename DataSource.js to Datasource.js to match class names inside it.

Refactor Datasource to returns objects instead of grid columns, to make it
useful for cursors, and add tests for it.

Add Cursor class and tests.

Add custom assertThrows and assertInstance to improve over standard Google
Closure behaviour: rethrow unexpected exceptions, with their stack traces.