Implemented StructuredDatabase.serialize() & added getBackend*() methods
Changed private for protected
Merge branch 'task3' into task4
Merge branch 'task4' into task5
Fixed null bug
Some commands overridden for task5.
Changed to Command
Fixed NullPointerExceptions in StructuredTable
Added initial exception message to ParseError's message
Changed put bug