Improve mapper definition DSL and simplify Mapper itself

  * Change order in which env must be setup (mappers must be defined at the end)
  * Change mappers DSL to be more inline with relations DSL
  * Introduce `Env#reader` which allows reading relations and loads tuples
    using a mapper
  * Remove horrible `rom.relations.users(mapper: true/false)` interface
  * Change Mapper to simply consist of a header and model and add `Mapper#load`

refs #52
Update benchmark
Make it possible to read a grouped relation

refs #52
Extend model DSL

  * Make it possible to set model type
  * Default to all attributes if no :map option is provided

Refs #52
Let's make building POROs 2 x faster
Add support for chaining readers

  * it's possible to configure a top-level model for every "sub-relation"
  * by default we use all attributes from the header
  * attributes can be overridden via `model(map: [:foo, :bar])`

refs #52
Add more examples to read_spec
Update README
Update travis config
Use latest ruby for development
Simplify and improve how headers are handled

* use a simple array of symbols as the header for base relations
* automatically infer header using `Sequel::Dataset#columns` for base
  relations
* use `Header` class only for mapping layer as this is the only place where
  we might want to specify renaming, type coercions and so on
* extend adapter interface with `[](name)` which must return a dataset
  that will be passed to ROM::Relation

This is a big simplification as now ROM doesn't really require to define
all attributes for all base relations. For schema-less databases this
will be required but in case of RDBMS/Sequel we can simply use
information from the schema to know the structure of resulting tuples.

It is also simpler to handle advanced mapping in just one place (the
mapper DSL) rather than have it split between relation definitions *and*
mapping like we had in the previous prototypes of ROM. That's why any
meta-info we previously had in base relation headers is gone.

refs #53
Infer undefined schemas from Sequel adapter

This commit adds automatic inference of the database schema for sequel
adapters. Manually defined schemas still have higher precedence over the
inference.

Other adapters only return an empty schema.

Closes #39