Add foundCallback and notFoundCallback to get()

notFoundCallback gets fired when the key does not exists in cache,
allowing user to generate the data and store it in one call