Prevent doxygen from creating large graphs

With the upgrade to doxygen 1.8.8, for some reason dot is having trouble
creating some of the larger graphs, causing dot to seg-fault. This
change disable the include and included by graphs, that are very large.
Also, limit the number of levels the graphs will go, from unlimited to
2. This also has the advantage of making sure the graphs don't get too
large.
Fix doxygen issue with static_assert

It appears that doxygen 1.8.8 has a problem with static_assert. ie, it
can't find declarations for functions defined after static_assert. To
sidestep this issue, this changes the template parameter (BlockSize)
from int to size_t. So there is no longer a need to call static_assert
to make sure BlockSize is greater than zero.
Turn off eigen alignment for 32 bit systems

Eigen alignment is working inconsistently on 32 bit linux in Release
mode, and not at all for Debug 32 bit builds. So we will turn it off by
default for all 32 bit systems (it was already off for 32 bit Windows),
and leave it on for 64 bit builds.
Set default build back to Release builds

It used to be that the default build in non-multiconfiguration
generators (ie, not Visual Studio) was set explicitly to "Release" in
SurgSimBuildFlags. This was removed, because it was thought to be not
neccassary in 7ffda85ee162. But in fact, the default build type in CMake
is Debug. This affected single configuration generators (Make,
NMake, Jom, Ninja, etc).

This change re-adds the setting of CMAKE_BUILD_TYPE to Release if it is
not set. But also checks that it is not a multiconfiguration generator
(NOT CMAKE_CONFIGURATION_TYPES), where this setting is unneccassary (and
conflicts with the way we currently pass the build type in
External_yamlcpp.cmake).
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
Fix SerializableStapling

Due to the change in config.txt.in, there's no need to include 'Data/'
when loading the scene.
Add Graphics::Model and use it in the scenery representation
Add 2D Gauss quadrature on a triangle.
Split Fem2D local mass matrix computation into membrane and plate parts.
Fix fem2d plate mass matrix calculation

The plate did not take into account the main contribution, which is the contribution of the dof z (displacement w).
Plus the contribution of the dofs thetax and thetay was wrong, The dot product between the vector of functions was inverted producing a single 2x2 matrix instead of 2 9x9 matrices.

The 3 contributions have been split in 3 methods to keep the code clear and clean.
Merge branch 'fix/build-type-default' into 'master'

Set default build type back to Release

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1217113
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)
Fix doxygen documentation of GaussLegendreQuadrature.h

Use proper math style and fix bugs:
1) /w_i => w_i
2) w_100 => w_{100}...
Fem2DElementTriangle: fix incorrect variable Greek name 'neta' to 'eta'
Improve doxygen doc for Fem2D compute plate/membrane mass matrix
Merge branch 'fix/alignment-32-bit-systems' into 'master'

Disable Eigen Alignment for all 32 bit builds

+1: Ryan Beasley, Julien Lenoir, Harald Scheirich

Merged-on: https://www.assembla.com/code/OpenSurgSim/git/merge_requests/1210463
Gauss-Legendre Quadrature minor doc update
Switch to fixed width datatypes in OpenNIScaffold