Support cache policies in default properties files
Support cache policies in default annotations
add missing license headers
Merge pull request #91 from elehack/feature/elehack-property-cache-policy

Support cache policies on defaults
Use maps instead of ProviderSource

This replaces the custom ProviderSource type with a Map<Desire,Provider<?>>, to reduce unneeded custom types and make the satisfaction interface more straightforward (less implied inversion of control).
Remove now-defunct provider source classes
Drop wildcard from Satisfaction.getDesires()

I like to avoid wildcards in returns when I can, the wildcard in Satisfaction.getDesires() wasn't gaining us aything.