Merge pull request #5 from UrK/master

Incorrect usage of string join method
Incremented version for PyPI
Redesigned User class so that it could work as an object (adding and saving attributes, added delete method, and lets it save a session token). Required changing UserQuery as well. Added a few appropriate test cases in TestUser class. Finally, added ParseError exception class. Addresses issue in #5.
Added details of User class to README.mkd. Added exception if APPLICATION_ID or REST_API_KEY is not set. Changed parse to parse_rest in a few lines of the docs.
Added ability to access a parse_rest.Object like a dictionary or an iterable, along with test cases for that functionality.
Fixed #6, added relevant test code
Lots of changes. Too many to put in a single commit message. In short, transformed Query objects into a method that belongs to ResourceClass. Also, added classes to represent ParseTypes. It should be possible to use these transparently. Added tests\!
Pep8 compliance changes
Set up the QueryManager in a metaclass instead of in the __new__ method, which means one doesn't have to instantiate an instance of the class before querying it. Fixed the __iter__ method of Queryset, which yielded only the first object from the query. Put back test cases for CloudCode functions.
Fixed merge conflicts- new version as per #8 should be ready.
Brought README.mkd up to date with new version (pull request #8). Also removed >>> in each of the example Python code snippets- they end up being confusing since they make it harder to cut-and-paste code. Incremented version.
Made Queryset Consistent, Moved user.py into __init__

Many changes:

- Removed the QueryManager class- all querying is now handled by the
Queryset class. This was necessary to manage chained query lines like

GameScore.Query.gte("score", 1000).lt("score",
2000).order("playerName")

- Queryset methods for comparison and options are now added
programatically (makes it easier to change their operation all at
once).

- Added test coverage of querying methods, including comparison
operators and limit/skip options.

- Removed user.py, moving its classes into `__init__.py`. The reason is
that lines like

import parse_rest
from parse_rest.user import User

parse_rest.APPLICATION_ID = "something"

meant the module attribute APPLICATION_ID was actually not accessible
from the User class. Perhaps there's a way to make this work- I just
couldn't find it yet.

- Set up createdAt and updatedAt to return date time objects rather
than strings
Fixed #9- can save Pointers to Objects

Fixed #9 by allowing ParseResources to be converted into Pointers and
back, such as when one object is set as an attribute of another. This
required:

- ParseResource now inherits Pointer
- All values are now converted to ParseType in the initialization of a
ParseResource
- The `_to_native` method of ParseResource was changed to `_to_dict`,
which allows `_to_native()` to construct a Pointer when one object is
an attribute of another.

Also:

- Added test coverage and example to README

- Fixed bug where many `from_native` methods used `self` instead of
`cls`

- `class_name` is converted to a string before being assigned to
`DerivedClass.__name__` (necessary because it is unicode when returned
from Parse)

- Changed TestUser to rely on parse_user.User instead of
parse_user.user.User
Merge pull request #1 from dgrtwo/master

Pull request to myself