Use prop instead of attr to set checked property

After jQuery 1.6, the correct way to modify the checked property is to use .prop(), not .attr(). Fixed this, updated the test to also use prop and added tests that verify that the defaultChecked property (initial state of the element) is not changed.