Dynamically loads all drivers

This patch cleans up dynamic loading of drivers and adds dynamic loading
of block storage drivers
Merge pull request #23 from painterjd/dynamic_load_drivers

Dynamically loads all drivers