DEC: Discrete Exterior Calculus

This new package adds discrete exterior calculus features to DGtal. It contains:
 
   - new `dec` packages (dec operators, test files, examples, documentation)
   - new `linalg` with linear algebra concepts and backends (Eigen at this point) 

As you would see, this PR, mostly managed by @elcerdo,  is quite huge and some documentation pages are still "work-in-progress". I send a PR just to start including this great package into DGtal and to clean things up thanks to your comments.
I discussed Clone<>, ConstAlias<> and CowPtr<> with david but i don't this falls into any of those cases. For my understanding, those classes are just here to remove an ambiguity of ownership of parameters: Clone<> hints that the object is deep copied and those that its original version be disposed in any way the user desire. On the other hand ConstAlias<> hints that the lifetime of the parameter should be longer that the lifetime of the object it is passed to.
Then here Clone<T> should do a proper job, but since there is no T& or const T& cast in Clone<T>, this object will actually copy the parameter twice: one time in the Clone<> cast operator, and another time in the copy constructor.

Am i missing something?