Release func in _.before and _.once

`func` isn't released until the _before_ function is called n times, when it's possible to release it after n-1 times. Since `_.once` uses `_.before`, this means that a _onced_ function isn't released until the 2nd time you call it.

(CLA signed)