Extend Accessible so we  can register an alternative decoder

This lets yaml writers use other parameters to control the decoding, eg. FIleName/Object
Make Asset serializable

Remove Asset Superclass from subclasses of shape, keeping the loading functionality
rename RootNode in OctreeShape to Octree to mirror MeshShape
Add Graphics::Model and use it in the scenery representation
Fix Linux build

gcc expects template<> statements before the static member allocation, it considers those specializations
also fix a problem with looking up the correct classes when registering SceneryRepresentation under linux
Fix bug in forwardProperty (yaml settings where not carried forward)
Forwarding did not work in this way, implemented the separate filename setter differently
Review fixes

fix function signatures
add assertions
Merge branch 'master' into feature/graphics-model
Merge branch 'feature/graphics-model' into 'master'

Add Graphics::Model and refactor Asset/Shape hierarchy

+1: Ryan Beasley, haizhouW, Paul Novotny

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1218593
Fix Typo
Merge branch 'fix/octree-typo' into 'master'

Fix typo in OctreeShape

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1233243