docs: update and improve docs for input, ngModelController, and guide/forms

In this PR:

- make it more clear that you should use $validators for custom validation (updated example in guide etc)
- adds explicit information what certain inputs require (Date object for input[date] etc)
- update outdated information (css class list, parse errors)
- explain how to override built-in validators (for ye olde Email regex discussion)

Feeback welcome, I probably have introduced typos and odd wordings.
if the Date is not the fist day of the month, that month is used, and upon the next update, the proper date will be set on the model.

In other words, if you set a value on your $scope to some arbitrary day in November. Say, the 23rd. And then you assign that to `ng-model` on an `input[type="month"]`, the value will be set to November 1st.