Implemented a custom ToString formatter for units

- Values below 1e-4 are always displayed in scientific notation.
- Values between 1e-4 and 1 are in fixed point notation.
- Values between 1 and 1e5 are in fixed point notation.
- Values above 1e5 are in scientific notation.
- Users can choose the number of digits to display after the radix point.
- Fixed #38
Removed tabs
Merge branch 'develop' into fix/38-tostring-truncates
Updates to unit formatter.

- Adjusted formatting thresholds as follows:
   - Values less than or equal to 1e-04 -> scientific notation
   - Values between 1e-04 and 1000 -> fixed point notation
   - Values between 1000 and 1e5 -> fixed point notation with digit grouping
   - Values greater than or equal to 1e6 -> scientific notation
- Added more unit tests and reorganized existing ones.
- Regenerated source code.
Fixed unit tests so they use invariant culture by default.
Added more unit tests against significant digits after radix

- Fixed (hopefully) an issue with tests failing when running on a machine with a different culture.
- Reorganized formatting threshold tests to use TestCase attribute because it removes duplicate code..
Updates to ToString formatting tests

- Added digit group formatting tests for cultures that use spaces and apostrophes.
- Added default, parameterless ToString formatting tests.
- Removed redundant test cases in ToString formatting interval tests and added more tests to exercise bounds.
Merge pull request #40 from bretthysuik/fix/38-tostring-truncates

Implemented a custom ToString formatter for units

 -inf ≤ x < 1e-03:  scientific notation    1.99e-04
1e-03 ≤ x < 1000 :  fixed point notation   0.001
 1000 ≤ x < 1e6  :  fixed point w/grouping 1,000
  1e6 ≤ x ≤ +inf :  scientific notation    1.1e+06