Convert properties to ivars.

Properties were never accessed and code coverage didn't like them.
Fixed tabs vs spaces setting.
Many more unit tests. Now > 90% line coverage, and 100% func coverage.