Various fixes for IDL attributes in user input elements 

I noticed some strange behaviour while using the checked, value, selected IDLs.
So I've tried to fix these by following the latest [HTML WHATWG spec](https://html.spec.whatwg.org/). 
It contains the following fixes:

1. Fixes related to the various dirtyness flags, which specify under which conditions attribute values effect the IDL values.
2. Fixes related to under which conditions "other" radio buttons or select options must be unset.
3. Sanitizing of new lines in textarea's.
4. Implement the reset algorithms for form.reset()

I tried to use the same terminology as the specification, which makes understanding the spec in combination with jsdom easier.

I added a lot of new test cases. As for browser support, firefox follows the WHATWG the closest, except for a few minor issues (which I double checked with the standard). For example when checking a radio, firefox does not uncheck others if the nodes are distached from the main Document (this violates the spec).
Chrome has more issues and IE messes up a lot.