workflows, collections, cleanups and fixes

- ADD: TMReadOnlyList<T> and TMReadOnlyCollection<T> classes
- FIX: Get*Var() methods of IWorkflowExecutionContext
- CHG: code cleanups and improvements
- CHG: WorkflowFunc and handle input parameters now
NotificationObjectBase and workflows

- ADD: GetPropertyValues() for NotificationObjectBase
- FIX: setting ExecutionArguments property of IWorkflowExecutionContext
interface
- FIX: documentations
minor changes
swapped arguments of Set<T> method of NotificationObjectBase that uses lambda expressions
workflows and cleanups

- ADD: AttributeWorkflow that is based on attributes
- ADD: Cancel and HasBeenCanceled propeties to IWorkflowExecutionContext
interface
- CHG: code cleanups
helper methods and workflows

- ADD: SelectMany helper methods
- ADD: AggregateWorkflow class
minor changes
SelectMany()

- ADD: updated selectors of SelectMany() helper methods
- ADD: System.Func<T1, T2, T3, T4, TResult> delegate for compatibility
reasons
code cleanups
workflows

- FIX: added required constructor and Create() method for
AttributeWorkflow
- FIX: added missing AggregateWorkflow.cs code file
fixes, cleanups and improvements

- FIX: typos
- CHG: code cleanups and improvements