Always return same value

Change `once()` so that when it is called for the first time the return
value of the original function is saved in `fn.value` and any subsequent
calls will continue to return this same value.

Add a test for this behavior.

Document this behavior in the readme.
v1.3.0