Merge pull request #66 from nityasantoshi/dev

Check that table has 5 columns instead of 4
Relaxed the tolerance on U calculation test

Relaxed the tolerance on the U calculation compatibility test (see #58)
from ±1e-14 to ±1e-12. While this is a significant change, it’s only
necessary for roughly one in a thousand randomly generated test cases
to pass, so it’s probably not meaningful.
Added platform dependent operations

Added generalized platform dependent operations in addition to its
first implementation. This new operation finds the application
directory based on the platform.

Under the new scheme, Topsoil stores its data under %APPDATA%/Topsoil
on Windows, ~/Library/Application\ Support on Mac OS, and ~/.topsoil on
Linux.

Also added is code to migrate data from the old application directory
to the new one.
Quick bug fix
This commit addresses the Tera-Waserberg fifth column requirement by automatically creating columns of zeroes for missing required columns.  In the case of uncertainty ellipses, the required count is 5.  Thus if only 4 columns are supplied, Topsoil adds in the missing column and calls it "fill-1".
Removed unused classes
Fixed Windows bug
Merge pull request #67 from CIRDLES/platform-operations

Added platform dependent operations and improved application directory storage
Improvements to data store migration
Merge branch 'dev' of https://github.com/CIRDLES/topsoil into dev
Merge branch 'dev' into Testing