Add settings check prior to opening transaction in backup.safe_load

Fix #159
Change internal structure of DataView to be 'facet'-based

This was required to implement #81 since there was no way to flag
individual columns in the structure that it was in. This is a more
robust structure composed of a list of dicts each of which with at least
one key 'concept' which is the primary key of the concept the facet
represents.

Each facet can now be disabled if an error occurs while being parsed.
Facets can have their 'visible' attribute set to False to denote this it
is only intended for sorting the data.

This is a backwards compatible change as it works with the previous legacy
input, however the output is in the new structure.

Read more http://avocado.harvest.io/wip/view-facet-validation.html

Resolves #82
Fix #81
Merge pull request #161 from cbmi/issue-81

Change internal structure of DataView to be 'facet'-based
Merge pull request #160 from cbmi/issue-159

Add settings check prior to opening transaction in backup.safe_load
2.2.0 Release
2.2.1 Bump
Merge remote-tracking branch 'upstream/2.2' into kev-lazy-choices