Extract private inner classes to upper level. Create generic SearchForAgent class
Remove merge glitches
Extract Hotel name
Refactoring of callback functions.

Log exceptions and rethrow them as runtime errors
Refactor name
Remove SubscribeToDayEvent behavior which is just another case of SearchForAgent behaviour
Refactor constant names so they follow conventions
Remove misleading comments
Start other agents from the AgPlatform4 agent.