Model Saving/Reading

DB - Models can now be written out as json or xml and be read back in
DB - ListProperty is now a true list type
DB - CustomDataProperty is for holding another BaseData subclass - It
will coerce values into the subclass if the value isn't already that
subclass
LayoutTool - Changes to reflect the updated DB BaseData class for
saving and reading files
Utils - Unfinished but extension types shoud be passed through on
getFile/getSaveFile  from user so it can cull by type  -  Not sure if
this is the proper way to do this thou so i didn't finish it