Support setters for traits not explicitly used in a class.

If a trait uses another trait, it will not show up in the return array
from class_uses() when called on a class that uses only that first
class.

Fortunately, we can call class_uses() on classes and traits. Therefore,
it is somewhat trivial to recursively call class_uses() on all traits
used in a class, to get the true absolute list of all traits used.
Changed checks for existence of traits in test to use same method as code

Because this library is designed to be compatible with PHP 5.3, we need
some way of checking for the existence of traits.
As discussed in issue #43, the aim is to standardise on checking to see
whether or not the method "class_uses" exists.
Improved PHPDoc type hint for when using closures for creating services
Added tests for child trait setters.
Merge pull request #45 from djmattyg007/djmattyg_unifiedparams_improvements

honor traits that use traits