Make session sealed
Delete bogus code
When using GetCustomAttributes(true), it does not returns the parent attribute if the current child class already has the same attribute type define at is level. We must therefore iterate over parent when we do want all parent tag.

In this specific case, it is useful to have tag at multiple hierarchy level, as tags are used to create ruleset for example.
Damn, haven't looked at the inherited flag...my bad
Rework custom exception to follow guidelines

Made custom exceptions serializable
Moved exception-related non-serializable information out to events
Make custom attributes sealed

For performance reasons
Minor cleanup
Moved images to wiki repo
Tests for exception serialization
Fix error type/message
Update solution files to latest VS
Cleanup readme
Sandcastle help builder project
Tweak help builder project
API documentation link
Help builder output path
Rework/cleanup expression builder
Validate action expressions
Make collections internal

To not expose implementation details
Cleanup code/comments