Huge Commit

Changed archtecture to be more modular, added MySQL support and support
for custom serializers