Fixed skipping serialization of _ properties.
Implemented hierarchical property change notification, task #20.
Cleaned up the raising of Disposed vs Deleted: we only raise Deleted when the element is actually deleted via API, not via Dispose. Disposed is raised in either case.
Added spike that tests how dynamic versioning could work with side-by-side toolkits, runtime and libraries.
Verified that we can selectively load all specific-version dependencies from a toolkit (i.e. Library v1 for OldComponent and Library v2 for NewComponent) while at the same time resolve the runtime types always to the latest runtime version deployed with the app (Runtime v2 for all). The console output shows:

  Instantiating old toolkit component, which references Runtime v1 and Library v1
  old::runtime-2.0.0.0::library-1.0.0.0
  Instantiating new toolkit component, which references Runtime v2 and Library v2
  new::runtime-2.0.0.0::library-2.0.0.0

Which is exactly what we want. We guarantee to toolkit authors, that all their dependencies will be exactly what they compiled (and tested!) against, while keeping toolkits side-by-side.
Initial basic end to end automation configuration support.
Created Info interfaces, which are roughly read-only versions of the schema interfaces.

Schema interfaces and implementations moved under Configuration, since they are used by the builders.
Added interface from original spike.
Updated diagrams to reflect latest changes.
Replaced Schema with Info interfaces in the Schema diagram.
Renamed namespace for schema classes under Configuration.Schema now.
Refactored out from tests the events and commands configuration APIs.

Fixed issue with schema builder that did not set the default name for inferred schemas.
Allow anonymous (lambda) commands
Allowed command configuration reuse.