Implemented a new method `create_path` that will allow new paths
to be created. If the new path is a new list index, it will
backfill missing indices with `None` because the goal is to make
sure the path now exists.

In addition, there are two helper functions inside pelecanus.toolbox
for 1) creating a new simple JSON object out of the passed-in path,
and 2) for inserting an object into a list at a missing index
with backfill.

This new method has been combined with a `force` kwarg on the
`set_nested_value` method so that a missing path may be 'forced'
into existence.

Altogether, this new functionality should make it easier to copy one object
over to another object, beyond merely `update`, because the lists nested
inside the object made that more difficult previously.

Added unittests for the `create_path` method and the "force" kwarg.

Next step: finish hacking together `pelecanus.toolbox` and finalize
tests for those functions.
Added toolbox module with functions for simulating some of the `PelicanJson` methods.

Inside toolbox, added `backfill_append` and `new_json_from_path`, which are used
to help a `PelicanJson` object create new objects from passed-in paths.

`PelicanJson.set_nested_value` has also been given a `force` kwarg, which makes
it so that any missing path may be 'forced' into existence using the
`create_path` method.

Added test suite for all.

This completes initial planned functionality for this application. It is
still in Beta stage, so further testing and deployment into staging
environments is needed.
Merge branch 'develop'