Fixed a bug in the order of initialising the experiment.experiment_cls_ when autoloading from experiments from dictionaries.
Added a way for defining decorators for database columns when autoloading table definitions from dictionaries on disk.
Added a features section to README.md
Started refactoring _from_disk so that it uses ExperimentBase as the table base class in an effort to get the column decorators work properly.
Added metadata.create_all to ExperimentBase for dict autoloading
Added a default column_prefix of '_' for all table columns when auto populating from disk base dictionaries. Also added property getter/setter for all class attributes to allow simple Experiment.attrname access instead of Experiment._attrname.
Added a way of autogenerating getters and setters for column attributes, althought it isn't currently working.
Changed the return value from _from_disk to be the newly created Exp class instead of ExperimentBase.
Added the possibility to define arbitrary functions as get,set,del decorators for column values.
Finalised the getter/setter decorators
Added a path translate decorator and slightly refactored _from_disk so that it takes into account if a decorator is a functools.partial (which doesn't have __name__) or a normal function.
Modified _from_disk so that is create sqlalchemy.ext.hybrid.hybrid_properties instead of python property objects (this allows .select() to work properly) and changed populate_from_disk so that the setter methods are called during initialisation instead of passing everything to __init__.