Fixes checkedLink inconsistency -controlled inputs

Getting the checked value directly from `this.props.checked` was causing
an inconsistency between the expected behavior when using `checkedLink`.

This commit addresses that inconsistent behavior and adds test to check
if it is producing controlled inputs as we expect for checkbox, text and
radio types.