Fix initialization of IProject.TypeDefinitionModels.
Add 'SD.MainThread.InvokeAsyncAndForget()' method that combines 'InvokeAsync().FireAndForget()' into a single step.

This makes debugging SharpDevelop easier because exceptions are left unhandled; they don't get caught by a Task<T>.
Implemented ITypeDefinitionModel.NestedTypes.
Replace DelegateCommand and DesignCommand with RelayCommand.
Don't serialize InternalBreakpointObject.
Use InvokeAsyncAndForget() instead of InvokeAsync().FireAndForget().