Move middleware/ and routes/ to top level of project
Refactor how metadata about Pure is gathered and processed

This makes Pure's site depend on Pure via Bower, always. This allows the
website to gather and process metadata about Pure on startup, like the
version, filesizes, and current set of grid units.

Since gathering this metadata is done async, a new middleware function
has been added which will do all the async metadata gathering and
processing on the first request, _only_, after which the data is cached.
Clean up page routing sugar in app.js
Add visual list of all available Pure Grids units to Grids docs

Note: a UI to switch on/off non-reduced grid unit fractions has been
added, but it's currently commented out until the next release of Pure.
Update dependencies and bump version to v1.8.0
Update Bower package version too
Merge branch 'grids-units'