Made TriaAccessor aware of Manifold

This is the initial work to make `TriaAccessor` more aware of Manifold. 

This allows (and future PR will implement this) to switch internal calls to `get_manifold` to syntax like 
~~~C++
cell->center(true);
line->center(true):
line->point(p);
~~~
 instead of the fairly redundant versions
~~~C++
cell->get_manifold().get_new_point_on_cell(cell);
line->get_manifold().get_new_point_on_line(line);

vector<Point<2> > ps(2); ps[0] = line->vertex(0); ps[1] = line->vertex(1);
vector<double> ws(2, .5);
Quadrature<2> quadrature(ws, ps);
line->get_manifold().get_new_point(quadrature);
~~~
Yes. Intermediate_point sounds right. I had doubts myself...