Making changes for the pull request review.

- Unit strings are not limited to 4 units we have defined, analyze
makes sure correct units are used.
- Added more unit tests
- Adding DS_Store files to gitignore because otherwise they keep trying
to seep through cracks.