Controller/Dialog/Modal: allow extension of promiseGenerator

promiseGenerator is a good enough concept to let subclasses extend. This
way the downstream can offer a different Modal.init experience without
much work.
Controller/Dialog/Modal: tests for the static init
Form: Input changes should hide errors. Fixes #58
Merge pull request #60 from mrjoelkemp/fix_58

Form: Input changes should hide errors.
Merge pull request #59 from Aintaer/modal-generator

Controller/Dialog/Modal: allow extension of promiseGenerator
Component/Form: Allow override of form's xhr
Merge pull request #61 from Attamusc/feature/form-expose-xhr

Component/Form: Allow override of form's xhr