moved a comment to a better place
switched away from simple io model to file handles
added an assert in front of io.open
made the format of the save file more concise

it used to make a local variable, set it equal to a table and then
return that variable.  Now it just returns the table directly.
Check for open file handle in loadData

It used to be an assumption that 'file' was either a string
representing a filename, or an open file handle. Now it explicitly
checks if the file is open and throws an error if it isn't.
check for file open in save
obj.load now takes an open file or filename

It used to require a string argument that was a filename passed to
dofile(). Now it can either be a filename or an open file handle and
appropriate error messages will be thrown if it is not.
Merge branch 'develop' of https://github.com/npbarnes/Powder-Fit into develop