created common module to load shared dependancies
refactor of JS file structure

common module created and modules
refactored to use this common set
refactor analytics

moved basic analytics call into common
changed "analytics" module to be scrollTracking module
as most projects would never need this specific functionality
renamed locale string to pass js validation rules
updated tests inline with JS changes
cleanup require loading
font caching with localStorage added
refactor to tidy JS in head

removed multiple wrappers and references to document + window, now all encapsulated in one function.

All file loading now uses custom appendFile method to remove duplication
reordered script for clarity
fix class on wrong element preventing styling showing
update name to be more explicit
fix missing require dependance
Fix JSHint warnings
tidy naming and comments

removed unnecessary .erb from application.js
updated comments in base to use ruby syntax so not output.
update precompile file list to reflect new file names
Merge pull request #327 from moneyadviceservice/js-optimisation-redux

JS optimisation redux