Allow fetch and close calls even if the provider does not implement them

This allows fetch and close calls to be made to the providers even if they do not implement those hooks. This allows libraries or users to safely call `torri.close('some-provider')` without needing prior knowledge regarding the implementation.

/cc @marcoow