New ChIrrNodeProxyToAsset, a irr::scene::ISceneNode inherited class for a custom node that will be inserted automatically in Irrlicht and contains triangle meshes reflecting the Chrono meshes.
This contains also a shared ptr to the corresponding chrono ChAsset, so it can update triangle coordinates at each Update()
New way of mapping chrono assets to Irrlicht nodes. An Update method is passed to the asset tree, too, for each update of the parent ChPhysicsItem.
Refactoring of Vector to ChVector, etc.
Fixed: the getType() in irrlicht_interface nodes was broken. const was missing, was not working as a overloading.
At each Update() of a ChPhysicsItem, ex. a ChBody, now also the tree of assets (ChAsset items, such as ChVisualization shapes) will get their Update() call.
The new GetPlate() method in ChConveyor coan be used to access the real collision shape , ex. for setting collision families.
Ex.
mconveyor->GetPlate()->GetCollisionModel()->SetFamily(2);   (not the mbody->GetCollisionModel()->SetFamily(2); )
etc.
New features in the FEM code. First tests with visualization of dynamical simulations with a 4 node tetahedron are OK.
The implementation is still incomplete, only 4 node tetahedrons can be displayed.
Merge branch 'develop' of https://github.com/projectchrono/chrono into develop

Conflicts:
	src/irrlicht_interface/ChBodySceneNode.h
	src/unit_FEM/ChElementTetra_10.h
	src/unit_FEM/ChElementTetra_4.h
The .i files for Python wrapping of ChBody and ChVector had to be updated after Radu's last changes (using ref instead of ptrs).
Note that for most classes, the .i files for SWIG wrapping are not detailed like those two, becuase in most cases one cah use the SWIG feature of auto importing the declarations from the .h files, but for some reasons tfor ChBody and ChVector and few others I had to strip out the .h declarations, so if one moifies the .h , he should also update the .i for SWIG.
Important API change for the uni_FEM!
All FEM elements and nodes now are handled via shared pointers, to make things easier from the user point of view (no need to think about swho is in charge of deleting nodes, etc.)
ChMesh can load TetGen tetahedron meshes
Assets of some textures were corrupted. Fixed
Better conversion to Irrlicht of .obj meshes, back cull is active again.
Refactoring: the ChNodeBase and ChNodeXYZ classes, previously in the same file of ChIndexedNodes, have been moved to separate files, to improve readability.
The previous bool() operator for ChSharedPtr and ChSmartPtr were potentially dangerous because the compiler could implicitly cast bool to integer etc.
To avoid this potential risk of misunderstanding, now I implemented it by using the 'safe bool idiom', as used in boost shared pointers, so the bool implicit cast can be used only for  tests like
  if (mysharedptr) ...
Note that this is also possible with more typing..
  if (!mysharedptr.IsNull())
Note also that, when we'll migrate to C++11 / C++0x , there will be no need of this odd 'safe bool idiom', because we could use the 'explicit' in
  explicit operator bool() ..
Better inheritance scheme
The problem with GCC and reference & to ChSharedPtr<> should be fixed now. Simply, shared ptrs are passed by value only. The overhead should be minimal, anyway.
To be tested on Linux.
Ops... in the commit of 5 minutes ago I forgot to put also the changes to some files that were affected by the splitting of the ChIndexedNodes.h file into three parts ChNodeBase.h, ChNodeXYZ.h, ChIndexedNodes.h.
It is a simple issue with #include"..." stuff.
Fixed.
Merge pull request #11 from andrewseidl/develop

Fixing Irrlicht support on Linux
The default GJK algorithm of Bullet is a bit unaccurate for very odd size ratios.
Since I needed to simulate small spherical particles that touch a large cylinder, I registered a new lgorithm into Bullet for an analytical solution for the sphere-cylinder case.