I think the return value should match what jQuery does (least surprising). My thought is that `$input.val() === $input.val(null) === $input.val(undefined) === no value` but again, however jquery treats it is probably how we should do it.

It'd be nice in the future to be able to run PRs against jquerys test suite.