issue35 - add ability to use any coordinate system

Code isn't very clean at the moment. Will fix this soon..
@astrofrog - Since this checking is done in the ```__init__``` method, I can only call ```return``` and not return any objects. Is that okay?