Working on greater error detection with auth/conn. Added tests for conn.authorized attribute.
Completed tests for critical branch of PmpConnector.get: the place where it renews the access_token if ExpiredToken has been raised.
Added 'put' and 'delete' methods to the PmpConnector class.

Unfortunately, there's a lot of repeated code. I'm going to have to
think about the commonalities and abstract that stuff out because right now
the junk is just too ugly as it is.

Added a bunch of tests to test_conn.py, but there's a bunch of
repeated code in there too. It should definitely be simpler.

Added 'save' and 'delete' methods to the client, but these rely
pretty much on the PmpConnector's methods to achieve.

Adding collectiondoc/writeabledoc.py to the repo. This is a work
in progress, and I don't remember what I changed in navigabledoc.
I'm betting those are whitespace changes.
Rewrote conn to strip out commonalities and clean up the code a bit. Put everything into a _request_factory method.
Can save a story on PMP API but lots of testing is needed.
It should now be possible to edit a NavigableDoc by using the `edit` method
and passing in 1) a list or tuple of keys/indices to access the value to be edited,
and 2) a new value to set.

In addition, it is still totally possible to edit the `collectiondoc` attribute directly.
One issue that remains to be addressed is that if a NavigableDoc is to be submitted
to PMP, it must be verified in order to ensure that it does not include
read-only values ('created', 'modified' are the two big ones that jump out).

In addition, the NavigableDoc object has been given a `serialize` method, which
simply means a json.dump of the collectiondoc values associated with the object.

Questions remain to be answered, namely:

1) How to create a brand-new document?
2) How to verify a document to be sure it is valid before submitting?
3) How to take a profile sample and build a document from that?
Added a few more JSON files to the heap in order to make it easy to build
and manipulate data inside profiles.
Updated documentation.
Minor PelicanJson save of progress.
Minor PelicanJson save of progress 2.
Fixed Issue #11: invalid query creates confusing traceback.
Trying a different direction: a profile could function as a kind of base template from which a document may be constructed.
Closes Issue #12: Fixed test fixtures in light of changes to PMP API. New fixtures reflect current state of samples returned by API.
Unittests for pmp_client.Client completed. Commented out the `upload`
method because it is not currently implemented.

Relying more on test-server application for running unittests.

Also, added fixture that represents a successful-put command.

In addition, created a couple of small functions for cleaning data that
comes in through fixtures from PMP (strips out GUIds and URLs).

Finally, adding ongoing changes to profile and test_profile to this
commit, even though those modules still need a bit more work.
Added some comments for profiles. Added samples/get_profiles to repo.
Merge branch 'feature/savedocs' into develop.

Working profiles as a solution to creating documents. Also, have added methods to
the pmp_client.Client object in order to save/delete documents. This should get us most of
the way there for now. Next step: work on making profiles more useable (including
more profiles) and finalize testing for profiles.
This version of the application includes one method for generating a document
template for submitting to PMP. It relies on a pre-saved json fixture
saved in pmp_api.collectiondoc.stored_profiles. A better solution would be
one that retrieves profiles and schemas from the server and generates these
documents automagically instead of hand-writing them and hoping they
stay current.

Changes for this commit include:

Removed most of the functions from json_utils. Relying on `pelecanus` application
instead.

Changed `NavigableDoc.edit to rely on `pelecanus` application.

Cleaned up `profile` module and added unittests.

Completed test-suite for current codebase.
Bumped version number and changelog to push stored_profiles in package.