fix(injector): allow multiple loading of function modules

Change HashMap to give $$hashKey also for functions so it will be possible to load multiple module function instances. In order to prevent problem in angular's test suite, have each HashMap maintain its own id range and cleanup $$hashKey from all module functions after each test.