Implemented mechanisms to allow for more control over inclusion rules

- Inclusion: Implemented a mechanism to control the inclusion of
    properties of specific object types.

- Inclusion: Implemented a mechanism to register custom inclusion
    resolvers to support inclusion rules far beyond the built-in ones.

- Introspection: The introspector now returns a TypeInfo object
    containing all the information gathered during introspection. The
    type info can later be retrieved from any node that represents an
    introspected object.

[Fixes #108]
Fixed "enter/leave" sequence bug in the circular reference detection

- Circular Reference Detection: Fixed 'Detected inconsistency in
    enter/leave sequence. Must always be LIFO.' bug that could occur
    due to inconsistent cleanup of the instance memory when a circular
    reference has been detected.

[Fixes #107]
Added acceptance tests for new parent type based property inclusion

- Inclusion: Improved acceptence tests for parent type based property
    inclusion and added some documentation.
InclusionService: Improved performance
InclusionService: Code format and Changelog entry
Merge branch 'master' of github.com:SQiShER/java-object-diff

Conflicts:
	src/main/java/de/danielbechler/diff/inclusion/InclusionService.java