unit_FEM works without enabling unit_MATLAB
Cleaning up old global stuff.
Shared pointers that were passed by reference, now are passed by value.
It worked only for single classes, but if using complex class inheritance, this is needed because if one passes a ChSharedPtr<DERIVED> where a ChSharedPtr<BASE> is expected then a static cast would be needed, with static_cast_chshared<>(), and it would require tto much typing.
Of course passing the shared ptr by value means also a copy, but the overhead should be almost negligible (this issue with shared pointers by value or by reference has been recently discussed by H- Sutter et al., and looks like there is no need to pass by reference hoping for better performance...)
Other demos have been updated to use the new 'asset' approach to visualization, to have Irrlicht stuff as least intrusive as possible.
asdf
Improved comments and API of the planetary gear constraint.
The ChShaftsBody constraint now can connect a more generic ChBodyFrame (ex. not only a ChBody, but also node of 3D FEM beams).
New constraint type: ChShaftsGearbox. It defines a transmission ratio between two 1D entities of  ChShaft type, and transmits the reaction of the gearbox to a 3D body that acts as the support truss.
Note that the more basic ChShaftsGear can do the same, except that it does not provide a way to transmit reaction to a truss body. This can be useful when simulating vehicles, where some parts of the driveline are gearbox connected to sprung masses, so one might want to capture the 'twist' effect when torque flows in the driveline.
Also note that this can also be seen as a ChShaftPlanetary where one has joined the carrier shaft to a fixed body via a ChShaftsBody constraint.
New constraint: ChShaftsGearboxAngled. It implements a gearbox with given transmission ratio between 1D input and 1D output, but with different directions in 3D space. Basically it defines a transmission ratio between two 1D entities of ChShaft type, and transmits the reaction of the gearbox to a 3D body that acts as the  support truss.
A typical example is the case of a gearbox with bevel gears, where input shaft and output shaft are at 90°.
Note that the more basic ChShaftsGear can do the same, except that it does not provide a way to transmit reaction to a 3D truss body.
Fixing build errors under GCC.
Fixed error in assert (only for debug mode)
Another assert trouble - removed
Merge pull request #18 from jcmadsen/develop

unit_FEM works without enabling unit_MATLAB
Just an update in comments, to make terminology more consistent
If an item is added as a generic ChPhysicsItem into a ChSystem, maybe it needs to load forces. This was not possible in previous ChSystem (it worked for ChBody and regular ChLink-derived stuff, though). Now it is more general.
New class: ChShaftsTorqueConverter.
This is an important tool for simulation of drivelines in vehicle models. It connects two 1D items of ChShaft type, using a model of torque converter.
A third ChShaft is used to represent the connection to the truss, because the difference between input and output torque is applied to a stator connected to the vehicle truss.
The classes in ChDistribution are in chrono:: namespace, now
New important feature: the 'particlefactory' namespace & source directory.
This directory contains new classes for generating flows of particles, with random shapes, positions, alignments, etc.
Each randomized feature (shape, size, etc.) can be defined using one or more distributions from the recent ChDistribution.h collection, ex the normal distribution, the Weibull distribution, the exponential distribution, discrete distributions, etc.
This extremely modular approach can be used to generate infinite types of mixtures.
Nte that this is still a work in progress; in future I'll merge also Radu's code for creating volumes filled with particles.
Things to do: make the generator 'templated' so that one can also generate GPU bodies or who knows in future, and also add a ChParticleGenerator of the type 'generate from particle samples', that will clone sample particles (but sharing their visual assets and the collision shapes, to save memory!!).
Also, add more demos.
The randomizer that creates particles on geometry shapes can also use volumes (ex. boxes) and 3d parametric geometries in general.
New randomizer for particle velocities for ChEmitter. This new velocity randomizer ChRandomParticleVelocityAnyDirection creates velocities of random direction and random modulus (the modulus can have a statistical distribution of ChDistribution class)