Adding real Parse Types (Object/GeoPoint/Pointer/Relation/Date). Making Query an class object. Improved tests.

Hey David, please take a look at the changes I've done and see if the proposed design suits you. There were lots of changes made, and they are totally backwords-incompatible. If my last pull request was lacking in tests, this one is lacking in documentation. I hope to get on this soon, and feel free to bug me with questions that you might have.

Ps.: Maybe you will notice that I removed the "dict-like" access methods. I will put them back soon.