Merge branch 'geordi-16'

* geordi-16:
  GEORDI-16: only update data for api calls with update=1
  Do state-changing operations with POST, doing otherwise is silly
  GEORDI-16: split data fetching and 'resolving' via updates
  GEORDI-16: split UI into its own blueprint too
  Missing import in data.py
  GEORDI-16: split out the API into a blueprint
  Use flask.json
  Fix pep8 test
  Fix up data-fixup
  GEORDI-16: allow matching to be entirely disabled for a given index