refactor memorize() and once() to make the api easier to use, now no need to pass in the original function as first argument, also add tests
Release 1.1.0