Implement APIs and process for managing site data

See #3, #4 
Could make the Processor docstring a little more clear, something like "Pushes a single row of staged input data to the target warehouse, overriding temporary staging keys with permanent warehouse keys.  Users must create one instance of Processor for each row."  In general, the API of Processor is a little confusing to me, especially the option of passing an instance either in the constructor or later in the run() method, and the terminology of `data` and `instance`.  It might just be me.