Validation function header comments; implement _validate_repeat. Tests coming next.
Merge branch 'master' of https://github.com/charlescao/medic-forms.
Minor psychotically-OCD rearrangement of validate_gps; please don't take offense.

Conflicts:
	lib/input.js
Semicolon. Those are important, right?
Spacing fixes because I'm completely impossible; test case for below sea-level locations.
Fix required field checking by moving it inside of _validate_any and taking it out of _validate_common.
A few additional test cases for the "gps" type that check the "elevation" parameter; make "null" synonymous with "false" for `elevation`.
Fix _validate_repeat; add passing test cases.
Raise errors on extraneous items/properties in validate_gps.
Export type-to-validation-function mapping as `validation_function_for_type`.
In return objects, always store the primary error text in `error`; supplemental text, if available, should be in `reason`. Add type-aware validation of per-field `default` properties. Add a small number of initial test cases.
Remove now-defunct `location` type; add `default` property to schema but defer/delegate type checking to lib/validate.js.
add base64 image input validation with test cases
Merge remote-tracking branch 'upstream/master'