Prepend adapters as they are registered

Appending adapaters as they are registered doesn't allow a programmer
to override a previously-registered adapter, meaning that a misbehaving
library can force everyone to use a particular adapter for a given
URI scheme.

This simply prepends adapters as they are registered, implementing
a "last-loaded wins" strategy for picking which adapter to use for
a given URI scheme.
Added spec to verify last-added wins adapter registration system
Update gemspec and remove runtime sequel dependency
Bump development gems
Add sequel to Gemfile
Merge pull request #65 from billdueber/adapter_prepend

Prepend adapters as they are registered
Reorganize specs
Automate const removal in specs
Add mutant to devel deps
Add specs for Relation#header
Slightly faster tuple mapping
Add support for renaming attributes in wrap and group ops

Also:

  * Add Join#header
  * Fix in-memory Join
  * Add Adapter::Memory::Dataset
  * Change Attribute::Embedded so it doesn't require :model option
Remove inheriting model from a mapper parent

I can't see any case where this would make any sense. If you need a
different set of attributes then you need a new model even if there are
common attributes.
WIP improve how readers find mappers (shameless green!)

This makes reader track its path based on relation access. For instance
if you call:

  rom.read(:users).sorted.by_name('Jane').with_tasks.page(2)

Then the reader path will be "users.sorted.by_name.with_tasks.page"

This allows us to find the best mapper for a given relation (first match
== best).
Add support for :prefix option in mapper definition DSL
Remove obsolete code from relation registry
Use abstract Registry class to DRY-up registries

closes #47
Flatten class structure
Add support for defining relations separately

closes #42
Add support for defining mappers separately