* feat(nav): make navbar static
make the navbar in react layout and the static layout stick to the top of the screen
* feat(challenges): Make classic view flex
Classic view now uses flex to control it's height. This was necessary to control view and allow
navbar to be static on other pages.
This breaks mobile view and other non-classic challenge views
* feat(app): Add logic to make screen expand on tablet
* fix(app): let routes define their content structure
* fix(less): use American spelling of gray
* fix(classic-preview): make preview smaller to prevent scroll
* feat(classic-frame): Make frame border less distinct
* fix(challenges): scope test suite less to challenges
* feat(challenges): make generic ChallengeTitle component
Addressing the changes discussed over skype to fix#6564, and an incoming issue with #6584 in which the absence of the button will create awkward empty spaces.
Took that chance to improve the spacing even further —vertical real state.
----
bonus: changed the colour for the navbar hover status (brown -> darkgreen)
This moves the location of javascript files, commonFramework,
iFrameScript, sandbox, plugin, and all the less files.
On gulp or gulp build these files are moved and revisioned.
Places where they are references in jade/html are now removed and
replaced with the use of a helper function `rev`. This function will
take the required file and return a string referencing the revisioned
file. This should alleviate the need for hard refreshing and will break
caches when files change, so fixes for firefox caching issue as well.
NOTE: @benmcmahon @quincylarson, This means files will need to be build
on the server in production before doing a server restart/reload
In production: 'npm run build' To build and revision js/css files
`gulp` and `gulp build` will used in development
npm install also needs to be run in production on initial deploy