Wrap ChFunction in a ChSharedPtr.
Remove implementation files for the matrix template classes.
Adding Slack notifications for Travis
Fix for GCC warnings.
Convert several instance of 'char*' arguments to 'const char*'
Line ChFunction_Const, make functions from the base class virtual. The destructor needs to be virtual so that we can dynamic cast
Use a vector of ChPhysicsItem pointers like we do for ChBody
Merge branch 'develop' of https://github.com/projectchrono/chrono into develop
Add functions to directly set the family group and mask for a bullet collision model.
In-place >>= operator for ChCoordsys now also takes ChVector and ChQuaternion, do easily translate or rotate a coordsys.
New mixed-types operators for the ChCoordsys, supporting ansl vectors and quaternions in >> and * transformations.
For instance:   my_vectA = myvectB >> my_coord
New in-place >>= operators for ChFrame, supporting also the case of ChVector and ChQuaternion and ChCoordsys. This allows an easy syntax for pre-concatenationg a transformation to a frame.
New mixed-types operators for ChFrame, allowing to build transformations with other similar objects such as ChCoordsys etc.
New in-place operators >>= for the ChFrameMoving. This allows an easy syntax for transforming frames. For example myframe >>= myquaternion means that a rotation is applied to the frame.
New mixed-types operators for the ChFrameMoving class
Updated demo for coordinate transformations.
Adding a new fluid collision shape to simplify collision detection when mixing fluid with rigid bodies
Calculate reaction forces when performing a system assembly.
During assembly, temporarily overwrite the member variable 'step'.

Velocity and acceleration-level assembly is performed taking a small (1e-7) step.
For this value to be visible outside the assembly function, we save (at the beginning) and restore (at the end) the current time step value.
Replace "speed tolerance" with "force tolerance".

- iterative solvers use a stopping criteria based on the norm of the residual. For the speed solver, this is a check at impulse level.
- in principle, this tolerance should be tightened if/when the step size is decreased.
- instead of prescribing the tolerance for a residual at impulse level, we now require the user to prescribe a tolerance at force level (independent of step size).
- internally, the tolerance actually used by the speed solver is obtained by multiplying the user-specified tol_force by the current time step size.
- the default value for tol_force is set at 1e-3