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.