Add ability to test non-public classes/properties.

The JavaBeans specification specifies that non-private visibilities may
be used when defining properties. The specification also does not define
a visibility requirement for classes.  This patch adds the ability to
test all non-private properties in any class.
Merge pull request #1 from burnison/visibility_changes

Add ability to test non-public classes/properties.
UPDATED:  Copyright/License notices to reflect the fact that others are contributing to the project
ADDED:  TestableMethodDiscoverer object hierarchy for allowing varying ways to determine which methods should be tested
ADDED:  Test time dependency on logback for test logging
ADDED:  Additional unit tests
CHANGED:  DefaultObjectPropertyGenerator to throw new AbstractPropertyException when trying to instantiate a non-concrete property for a class under test
ADDED:  Ability to test Map, Set, List, Queue, primitive Array and Object Array properties
ADDED:  Ability to populate tested arrays with random data and verify the contents of that data in the getter
ADDED:  Ability to test collection contents
CHANGED:  Default type of Queue used in DefaultCollectionPropertyGenerator to LinkedList