Switchable adaptor support
Created by: andrewyatz
This branch brings in changes to the Registry to support a very basic implementation of dependency injection/inversion of control container. You can switch an adaptor for an alternative implementation using the Registry directly where you are responsible for switching the implementation back after finishing with the code.
Alternatively you can use a method on the DBAdaptor instance which takes in a callback subroutine and will deal with the nitty gritty of switching implementations back and forth.
Main use case is to switch where DNA sequence comes from.