Implemented a property resolver that protects itself against recursive/cyclic property resolution

Added a bunch of unit tests for default strategies

Added the ability to create Locator and Resolver instances from the annotation within the configuration producer