Update devDependencies to reflect our gruntfile.

We have a lot of packages in devDependencies that are actually
used by our build:production grunt process.

Update package.json to reflect this.
Add a heroku:development task to our Gruntfile.

This is required because we're using a forked buildpack for
Grunt support on Heroku.

See https://github.com/mbuchetics/heroku-buildpack-nodejs-grunt
Update README for Heroku.
Merge pull request #528 from alphagov/enhancement/build-process-for-heroku

Build process for Heroku
Correctly bind function scope in view formatter test
Move threshold for X.Xk format to 10,000
Format 1,000,000 and 1,000,000,000 to 1m and 1b respectively
Remove currency suffix code

It's never used because the only currency we support is GBP
Currency formatter always returns pence for values < 10
Add some extra test coverage for number formatters
Updated test for sigfigs behaviour

Sigfigs only applies to decimals, not to whole numbers. It's a slight bastardisation of the concept of sigfigs, but it works for our purposes.
Handle decimal places for small values in currency formatter.

Values < 10 should have 2 dps by default, and >= 10 should always be integers
Ensure percentage formatter returns unformatted value for non-numbers
Refactor formatters from view prototype to use as uch of standard formatter lib as possible
Remove tests for numbers < 10000 formatting as X.Xk
Completely remove `View#formatDuration`

Use standard formatters instead
Change billion suffix in tests to "bn"
Make zero always return zero
Assorted test fixes
Move numberListFormatter method into main formatters script