Fixed `locale-changed` event not triggering
Added marking of invalid fields

* Ajax function now has an `invalid` error handler
* The regular `error` handler is called whether or not `invalid` handler was called
* Model#invalidFields is a new observable which is populated by it's `invalid`
  ajax handler
* Model#clear() clears `invalidFields` observable
* New binding handler: `invalidFields`. When presented with the invalid fields,
  iterates through the fields and tries to match the invalid field name with
  the element's `name` attribute. If it does, it will add the `has-error` class
  to the element's parent