Description of most-relevant changes in the cgal_branch.

Summary of changes:
- Intersection detection for mesh-point (1d-3d) and mesh-mesh intersection (2d-1d, 2d-2d, 3d-2d,3d-3d)
  (computing all cell ids for one mesh, now *uniquely* collected in a std:set)
- Computing first intersected cell for mesh-point intersection, accelerates significantly function 
  eval 

ADDED:
- IntersectionOperator class: Provides the interface for the new intersection
  functionality based on the CGAL library (computational geometry).
  Implementation via the pImpl idiom.

- IntersectionOperatorImplementation class: Abstract base class for the pImpl
  implementation. Only inherited classes contain the search tree, which type
  depends is based on the geometric primitive it includes.

- IntersectionOperatorImplementation_d class: Contains search tree for the mesh
  and executes search operations.

- MeshPrimitive class: Implementation of the concept "AABBPrimitive" required by the
  CGAL AABB tree. Relies on the Primitive_Traits class to perform data
  conversion,

- Primitive_Traits template class: Traits class which provides conversion
  functionality from MeshEntity (s.a.  IntervalCell, TetrahedronCell etc.) -->
  CGAL geometric primitive (Segment_3, Tetrahedron_3). 

- demo/mesh/intersection/python/demo_3d.py demonstrates intersection of 3D cube
  with 3D sphere running through the cube.

- bench/mesh/intersection/main.cpp Benchmark against old GTS interface.

- added intersection functionality to complement CGAL interface
  (Point_3_*_intersection.h) and add new intersection detection (Tetrahedron -
  Tetrahedron) and a template specialization for the Triangle
  Tetrahedron do_intersect function to overwrite its CGAL default implementation
  (fix CGAL roundoffs exceptions due inexact geometry kernel).

CHANGED:
- MeshEntity class: Introduced default constructor (requires to change private
  member const Mesh & _mesh to const Mesh * _mesh), changed _mesh. to _mesh-> in
  (derived) classes when necessary. 
- added comparison operator

- MeshEntityInterator class: Introduced default constructor, added comparison
  operator, added set_end function to create iterators which points past the end
  (more STL like, necessary for the AABB tree).

- Mesh class: Provide appropriate delegate funtions.

- Function class: Replace gts bases intersection detector.

- swig: Added wrapper for std::set<uint> and a has_cgal function.
