Expanding the functionality of Blocks.
Minor work on getting some feedback for unit tests.
Work on getting the undo/redo plumbing working. Initial insert and set text commands.
Work on getting unit tests for InsertTextBlockCommand and SetTextBlockCommand.
Cleaing up code, moving block classes into a dedicated subfolder (and updating namespaces).
Work on adding delete and insert block commands.

- Added unit tests to cover the basic usage of the operations.
- Updated the ToString() on BlockKey, BlockType, and Block to make them easier to debug.
Refactored the delete block unit tests.

- Added in tests to work with single line blocks and verify that a placeholder block is substituted in its place.
- Removed the minimum block functionality from the BlockOwnerCollection to the operation.
- Created a common multiline unit test setup method.
- Renamed Project.BlockTypeSupervisor to Project.BlockTypes to follow conventions.
Added in a block type change operation.

- Included unit tests for the operation.
Added a DeleteTextCommand.

- Added unit tests to verify functionality.
- Changed InsertTextCommand to use delete text instead of set text.
Refactoring SingleBlockCommand into BlockKeyCommand and adding a BlockPositionCommand.