Change checkedValue/checked bindings to update value of selection instead of selection

In #875, we added a `checkedValue` binding that allows you to more precisely specify the value of a checkbox or radio button. If the `checkedValue` value is an observable, updating it will also update the `checked` binding, but the interacting seems strange to me.

Here is the existing interaction:

1. For a selected radio button, updating `checkedValue` will deselect the radio button and leave the `checked` value alone. Updating `checkedValue` to the current `checked` value will select the radio button. Example: http://jsfiddle.net/mbest/BxApZ/
2. For a selected checkbox, when `checked` is bound to an array, updating `checkedValue` will deselect the checkbox and leave the `checked` value alone. Updating `checkedValue` to the a value currently in the `checked` array will select the checkbox. Example: http://jsfiddle.net/mbest/JJCkW/

Here is what I think the interaction should be:

1. For a selected radio button, updating `checkedValue` will update the `checked` value and leave the radio button checked. For an unselected radio button, it will do nothing. Example (doesn't use `checkedValue` but shows the interaction): http://jsfiddle.net/mbest/GmY7q/
2. For a selected checkbox, updating `checkedValue` will update the `checked` array (remove old value and add new value). For an unselected checkbox, it will do nothing. Example (doesn't exactly match): http://jsfiddle.net/mbest/Bgfj2/.