make metadata storage pluggable

I first created a MetadataSQLConnector as an abstract class, but Fangjin recommended to make it a concrete class and he was cool with using Derby commands to fill in the methods. Should I change it back to an abstract class and get rid of derby-specific commands?