[WIP] Rewrite driver code, move to driver.py, introduce system builder classes

Hey,

This is my (very initial) implementation of `SystemBuilder`.... very WIP, will continue to implement the ideas we discussed.

Thanks
We should try to avoid using local imports except for dependencies that are truly optional.  Also, we might be able to use this: https://github.com/rmcgibbo/mdtraj/blob/master/MDTraj/utils/delay_import.py