Proof of concept for new data-dictionary lookups.

The idea is that we can specify how the items are looked up in
the data dictionary in one place and have simple setters/getters
generated automatically.

This allows for much simpler testing because instead of having
to have a YAML file specified, you can create one with only the
attributes you need to set.

For example:
from bcbio.dd import dd
config = dd.set_gtf_file({}, 'foo') => {'genome_resources': {'rnaseq': {'transcripts': 'foo'}}}
gtf_file = dd.get_gtf_file(config) => 'foo'

It also allows easier integration with other tools using our wrappers since
they don't have to create our data dictionary.