v4: prevent setting an invalid date

If you type an invalid value (which can't be parsed) into `<INPUT/>`, the value is displayed 'as is' but `date()` returns null. This is critical with option `useStrict`, because you can input 'almost correct' value, e.g. type letter 'O' instead of digit '0' or use wrong separator. In this case the control looks good but the value is incorrect and `date()` returns null.
Demo: http://jsfiddle.net/mdnLvk87/3/  (open the browser console to see output).

I think the control should display the last valid date when an user inputs incorrect value. It's common practice for many date/time controls. So the control is also in correct state and `errored` flag is redundant.

P.S. This PR is related to https://github.com/Eonasdan/bootstrap-datetimepicker/pull/655 and based on it. I hope you'll merge both:)