Bump the abstract_type dependency to ~> 0.0.4
Cleanup the travis configuration file
Push Environment#reset down to TestEnv

As #reset is only used from specs currently, there
is no need to expose it as a public method to
client code. Every user of dm-mapper will interact
with Environment directly, so we should only expose
what's really necessary.

Also, the mapper registry gets populated during
Environment#finalize, so a typical user would not
need to inject an instance. It seems that this
constructor injection was primarily done to "ease"
writing of specs (using #should_receive :/). IMHO, 
until a real usecase arises, it's better to just
simplify the public api of this class and thus not
support injecting a mapper registry. It would only
be confusing for users. Also, the behavior would
be kinda "undefined" anyway.
Make Environment#repositories protected explicitly
Split BaseRelationMappersFinalizer into smaller methods
Avoid useless #to_sym call in Relation::Graph#node_for
Consistently declare git dependencies in the Gemfile
Fix docs for Environment#setup
Move include directive to the top of the class body
Fix alignment of the private directive
Remove useless curly braces for hash definition
Move graphviz code to TestEnv#draw_relation_graph