scala DynamicProperty bindings:

* create a central trait for Dynamic Properties.
* simplified implementations for each binding.
* consistent naming for common attributes like propertyName, defaultValue, etc.
* correct apply() definition to be scala-y.
* update addCallback() definition to take a scala-y function.
* provide a map implementation which takes a conversion function, allowing DynamicProperty implementations of arbitrary type to be created.
* use JavaConverters in collection-y dynamic properties instead of JavaConversions.
* killed deprecated DynamicProperties trait.
* overhaul tests using a behaviors trait
* corrections for collection-supporting property types
* disambiguate box attribute names from DynamicProperty attributes to avoid init NPEs
* simplify imports
* refactor ChainedProperty to also be a DynamicProperty
* (howdahell....)
* rationalize DynamicProperty's addCallback() with ChainedProperty's, in so doing changing the constructors for each ChainedProperty.
* rationalize DynamicProperty's apply() with ChainedProperty's
* avoid makework when null callbacks are passed
* allow clearing callbacks
* test callback use
Merge branch 'master' into scala-dynamic-property-trait

Conflicts:
	archaius-core/src/main/java/com/netflix/config/DynamicStringSetProperty.java
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicBooleanProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicContextualProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicDoubleProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicFloatProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicIntProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicLongProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicProperties.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicStringListProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicStringMapProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicStringProperty.scala
	archaius-scala/src/main/scala/com/netflix/config/scala/DynamicStringSetProperty.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicBooleanPropertyTest.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicDoublePropertyTest.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicFloatPropertyTest.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicIntPropertyTest.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicLongPropertyTest.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicStringListPropertyTest.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicStringMapPropertyTest.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicStringPropertyTest.scala
	archaius-scala/src/test/scala/com/netflix/config/scala/DynamicStringSetPropertyTest.scala
* Refactor factory pattern per review comments.
* Simplify callback handling per Factory pattern, to take a function instead of an Option of a function.
* Explicitly name the callback wrapper to improve visibility in debugging callbacks.
* Refactor tests, sacrificing (illusions of) test isolation to allow callback test additions.
* Mark the one-object factory pattern deprecated.
* Merge with #173
* Merge with #173
* Complete harmonizing (simple) dynamic and chained properties
Merge pull request #177 from stujapa/scala-dynamic-property-trait

archaius/scala: dynamic property trait