first pass at controlled vocab index and term objects

- Index can read CSV and JSON, write to CSV, JSON, and text.
- Terms know their parent, siblings, children.
- Django menu choices output.
function for dumping vocab index data to Graphviz .gv file
added vocab term path

Term.path is a colon-separated list of the titles of the term
and its ancestors.
Ex: 'World War II: Assembly centers: Living conditions [62]'
add term.format attr when building index
use index.terms to generate index.menu_choices
hide vocab.Index private methods
dump list of complete vocab terms for use in API
updated usage examples
revised format for vocab index dump; adds id/title/description

This format is nearly the same as that used for Elasticsearch
facets.