CylindricalManifold implementation

I adapted this from the old Manifold branch. 

Here is how it looks:

![screen shot 2014-08-06 at 14 53 07](https://cloud.githubusercontent.com/assets/2919756/3827061/8c01c130-1d69-11e4-9345-d61d218bd522.png)

By the way, marking a variable 'protected' almost always indicates a problem with encapsulation and that a variable is used in contexts for which it wasn't intended. For example, why is it that classes derived from FlatManifold need to know what the tolerance is, when classes only derived from Manifold don't? A flat manifold is something that has particular properties regarding some geometric aspect, but the tolerance is not part of this aspect.