adding app version service
adding AppVersion js content plugin
refactoring tag handler plugin to always take a version and adding an AppVersionGenerator
changing everything to now use the AppVersionGenerator
making the version available to content plugins
using the AppVersionGenerator within the model to access the version in both dev and prod
changing resource services so they use the new app version service
fixing usage of app version service so we use the correct URLs in exported apps
fixing tests after the app version changes
tidying up template structure and adding a spec test to verify the structure of new nodes
Merge branch 'develop' into versioned-url-fixes

Conflicts:
	brjs-core/src/main/java/org/bladerunnerjs/model/BRJS.java
Merge pull request #684 from BladeRunnerJS/versioned-url-fixes

Versioned url fixes
fixing test after changing lib template
capitalizing lib name in templates
adding a BundlePathTagHandler to provide the path for bundle URLs from index.html
changing dev request API to be the same as prod
changing AppVersion content plugin to output the BundlePath instead
replacing AppVersion service with a BundlePath service for calculating bundle paths
Merge branch 'develop' into more-versioned-url-changes
Prevent onPropertyChanged being triggered if both values are NaN

This is something we fixed in CT and are now feeding it back to BRJS.

THe bug was that if you had a property with a value of `NaN` and you
called `setValue` with `NaN` again it would still trigger
`onPropertyChanged` even though the value hasn't really changed.