Store all data as JSON

Put all of the data into a JSON object before pushing it into the
database. This gives more flexibility than adding pipe-delimited fields,
and most of the data is already in JSON anyway.
Allow tag access to all provider variables

E.g., {field_name:author_url} will access the value of 'author_url' that
the provider returned. There is no guarantee which variables will exist.

Two special variables will always exist:

{field_name:mediaembed:original_url}
{field_name:mediaembed:provider_code}

Fixes #4