Refactor where form parts showing  is client side

Previous solution was quite brittle and leading to hard to maintain code. This
strategy renders entire form, but hides and reveals parts of it depending on
client side interaction.

It also manages showing "progress" client side via javascript event listeners.

Should make it easier to add validation and is less of an abuse of REST.

Javascript transitions could some love, especially for transitions.
Fix issue related to use of constant

Was somehow being "sticking" to value of last request rather than using correct
value.
Fix use of symbol when checking against string
Make confirm data reflect input, manage progress div
Merge branch 'qflow_backend_wip' into qflow

* qflow_backend_wip:
  Make confirm data reflect input, manage progress div
  Fix use of symbol when checking against string
  Fix issue related to use of constant
  Refactor where form parts showing  is client side

Conflicts:
	app/views/questions/_progress.html.erb
Reincorporate change to next button with new placement