Introducing BlueprintSession to allow for cycle detection while
blueprinting.
Test for BlueprintCycleException and fixed possible null-pointer
dereference as well as string representation.
Refactored name of AbstractBlueprintConfiguration. It is not abstract,
it is just an immutable implementation of a configuration.