Added tests for bug #14
fix bug #14.

Note that I had to change Cart's user field type from OneToOneField to
ForeignKeyField to allow a user to have multiple carts. That wasn't
necessary for the Anonymous user because the user field was left to NULL,
so having multiple carts didn't trigger any DB validation errors; but
with a normal user it did once the user had a checked out cart and a
new cart was created.

Due to the way the CartProxy is initialized, a normal user should only
have one non checked out cart at a time, but it may have any number of
checked out carts stored in the DB.