Further updating interfaces

* Add definition of ResultSet
* Require adapters to implement 'fields' event and corrresponding ResultSet
  property
* Change Queryable.adapter to be an actual adapter instance instead of a string.
  - Along with this, Queryable.createQuery has been removed
2.0.2
update tests of required query properties and events
Factor basic typechecking into interfaces subdir
reorganize tests, add event-ordering tests to interface definitions
2.0.3