working travis config?
un-nest a closure
remove needless indirection
add itemset support

This adds support for new "Dynamic List" multiple choice questions that
use itemsets.

It introduces a declarative configuration setting for defining available
instances, the node names of their levels, and filter conditions that
correspond to known subsets of a level (a case type, for example).

Currently, only the leaf-level subsets are displayed as separate data
sources that the user can choose from, and there is no way to add filter
conditions on internal nodes in the nodeset path, but if an XForm is
loaded with filter conditions on internal nodes, they will be preserved
as long as the data source is never touched.

It also allows the user to add custom instances with arbitrary URIs.

To enable integrating the UI widgets for the different pieces of the
itemset configuration more tightly, the itemset widget mostly eschews
the property/widget framework, building on the refactorings from 617c649
and b0ec68d.

Icons, copying, and changing question types behave in unsurprising ways.