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,  added an option to HashMap to maintain its own id counter and added cleanup of $$hashKey from all module functions after each test.