Add in formatters.

Plottable.Util.Formatters now includes functions that generate formatters:

- identity() : String-ifies the input.
- general() : Shows at most [precision] decimal places (using round-half-up).
- fixed() : Shows exactly [precision] decimal places (IEEE 754 rounding).
- currency() : Displays fixed() values with a currency symbol (defaults to $)
- percentage() : Dipplayes fixed() values as percentages.
Actually include the source and test files.
Rename "Formatters" --> "Formatter".

Also fix breaking test due to character-encoding problems.
Fix percentage formatter to multiply by 100.
Convert Formatters to classes, allow Axis to take in Abstract.Formatter.

Formatters now also have an option to show only values that are unchanged by
formatting. For example:

var f = new Plottable.Util.Formatter.Fixed(3);
f.format(1); // "1.000"
f.format(1.234); // "1.234"
f.format(1.2345); // ""

This value can be set with .showOnlyUnchangedValues() and is true by default.

In addition, added in Formatter.Custom to allow the Javascript consumers of
Plottable to create new Formatters without writing TypeScript code.
Clear up odd <this> issues with Axis.
Merge branch 'master' into formatters

Conflicts:
	quicktests/gridlines-quicktest.html
Move formatters to Plottable.Formatter, better docs and testing.
Change Identity formatter to show transformed values by default.

Also added tests for the Identity formatter.
Make General formatter the default argument in the Axis constructor.
Revert to previous style of default formatter (compiles correctly).
Merge pull request #533 from palantir/formatters

Add in formatters.