First basic working version of catalog import/export

This commit adds two new cli commands (`import` and `export`),
which can import and export catalog data (as .json files) to
and from PuppetDB.

It also moves the existing `catalog` endpoint (which was intended
to provide support for doing graph visualizations of a catalog) and
all corresponding code to new namespaces named `graphviz-catalog`.
This change makes room for a new `catalog` endpoint that simply
returns catalogs in our normal wire format, without the added
functionality for counts and aggregation that were needed for the
graphviz versions.

This commit is still not quite shippable; it is missing (at least)
the following:

* ability to configure host/port for import/export commands
* read/write data to/from tarballs rather than just a directory
  full of `.json` files
* add a metadata file which indicates which version of the
  `replace catalog` command should be used during imports
* add shell scripts to simplify the use of these tools from the
  command line.
Add support for export metadata during export/import

This commit adds code to the export command to cause it to generate
an `export-metadata.json` file.  At the time of this writing, the
contents of that file are simply a map containing the version number
of the `replace catalog` command that should be used during import.

The commit also adds code to the import command to cause it to expect
this metadata file, to parse it, and to use the version number that
it finds therein when submitting catalogs via the `replace catalog`
command.

Conflicts:

	src/com/puppetlabs/puppetdb/cli/import.clj
Add configuration options for host/port

Prior to this commit, the import/export tools had hard-coded
values of "localhost" and 8080 for the PuppetDB host/port.
This commit simply adds configuration options that allow you
to override the defaults.

Conflicts:

	src/com/puppetlabs/puppetdb/cli/export.clj
	src/com/puppetlabs/puppetdb/cli/import.clj
Modify import/export to read from / write to a tarball

Prior to this commit, the import/export tools were reading from
and writing to a bunch of files in a directory.  This commit
adds a new `archive` namespace, with utility functions for reading
from and writing to tarballs, and ports the import/export tools
over to use the functions therein.  This means we are now importing/
exporting directly to a tarball.

Conflicts:

	src/com/puppetlabs/puppetdb/cli/import.clj
Get rid of `:document_type` in catalog output

The example JSON catalogs that I was given all included a top-level
key called `document_type`, with a value of `"Catalog"`, so I included
that in my export output.  After discussing with Nick Lewis, it
sounds like that is an artifact of some Puppet PSON implementation
and is not desirable or necessary.  This commit removes it.
Add timestamp to export-metadata

Nick's export tool included a timestamp in the metadata, which
seems like a good idea.  This commit adds that to the clojure
export tool.