refactor(client): Replace modernizr with html5shiv and a short test for js and touch screen.

fixes #1021
fix(build): Exclude env-test.js from the copyright check, it has its own from the Modernizr project.
chore(server): Move `env-test.js` into `vendor` since it is kind of sort of an external script.
Merge pull request #1096 from mozilla/issue-1021-into-antiquity

refactor(client): Replace modernizr with html5shiv and a short test for js and touch screen.
feature(build): Pre-build static pages and CSS for each locale.

* Generate copies of static pages for each locale. Replace links to localized resources (like CSS) with their prebuilt equivalent.
* Generate one CSS bundle per locale. The CSS bundle will contain the correct fonts for the locale.
* Serve up the css files based on the user's language.

Tangential changes:
* Alphabetize the dependencies.
Update shrinkwrap for grunt-connect-fonts, connect-fonts-firasans and connect-fonts-clearsans
cleanup(build): Ensure the correct server configuration files are loaded when generating locale specific resources.

* Run `selectconfig` earlier. selectconfig adds the server configuration under the `server` namespace in the grunt config.
* Add `configure_connect_fonts` which configures the languages to use in the `connect_fonts` task.
* Use `path.join` instead of manually creating path names for the font files.

BREAKING CHANGE:
* `production.json` will need to be updated with the list of locales to enable before running `grunt build` to create server resources.
fix(server): All localized resources are stored on disk by locale, not language.

Additionally:

* Add a 'helper' configuration item: `are_dist_resources` - returns `true` if using dist resources.
* Add i18n.normalizeLocale and i18n.normalizeLanguage.

Cherry-picked from: 53fc6496760d627e27d4fd7f1d7485a0225c61a9

Conflicts:
	grunttasks/autoprefixer.js
	grunttasks/connect-fonts.js
	grunttasks/l10n-generate-pages.js
	server/templates/pages/src/404.html
	server/templates/pages/src/500.html
	server/templates/pages/src/503.html
	server/templates/pages/src/index.html
	server/templates/pages/src/privacy.html
	server/templates/pages/src/terms.html
cleanup: Use path.join instead of manually creating path names.
fix(build): Create localized pages for all locales.

* Add all locales to the default list of supportedLanguages so production builds can occur before production.json is created.
* Use the newest version of grunt-connect-fonts which ensures arrays are not mutated.
fix(build): Fix the dist build for the fonts.

* Ensure localized pages are copied to dist.
* Add rev cache-busting to web fonts.
* Remove copied font files in clean.
* Add `en` as a supported language by default.