New branch: Refactoring whole project to a functional project.
Implementing dynamically typed command arguments to project
CodeSharper.Core/Common/Values/Argument:
  - Added a new Argument class for representing command arguments
CodeSharper.Core/Common/Values/ValueArgument and ErrorArgument:
  - Added value and error arguments of class hierarchy
CodeSharper.Core/Common/Values/Arguments:
  - Added a static class for handling arguments easily
CodeSharper.Tests.Core/Texts/ArgumentTestFixture:
  - Added a tests
CodeSharper.Core/Texts/TextSpan:
  - Fixing some bugs and code in TextSpan class and its helper class
Added new arguments and constraints
CodeSharper.Core/Common/Constraints/IConstraint:
  - Added new IConstraints to code
CodeSharper.Core/Common/Values/ValueArgument:
  - Added new MultiValue to the code
Added new commands and support of multi values.
Some tests are fixed and updated.
CodeSharper.Core/Common/ConstraintUtils:
  - Added a higher level of abstraction to handle constraints in library
  - It supports NotBlank and NotNull checking
CodeSharper.Core/Common/DelegateCommand:
  - Added a new DelegateCommand to commands
Finished Constraints class (main constraints are implemented):

CodeSharper.Core/Common/ConstraintChecking:
  - Renamed ConstraintUtils to ConstraintChecking
CodeSharper.Core/Common/ConstraintChecking/Constraints:
  - Added new constraints to the class: NotNull, NotEmpty, NotBlank
CodeSharper.Core/Common/ConstraintChecking/NotEmptyConstraint:
  - Added new constraint class: NotEmptyConstraint
Started to implement text commands to CodeSharper.
CodeSharper/CodeSharper.Core/Texts:
  - Added TextNode class to Texts namespace, which represents nodes of text (TextNode.cs)
  - Added test methods to TextNode class (TextNodeTestFixture.cs)
  - Created a TextNodeHelper class for extensions methods (TextNodeHelper.cs)
Updated existing and added new commands to library and added a new TextNode class which is representing raw Text
CodeSharper.Core/Texts/TextNode:
  - Added and tested TextNode class
  - Represents raw text in source code
CodeSharper.Core/Common/Commands/StringTransformationCommand:
  - Added a new abstract class which is common base class of string transformation commands
CodeSharper.Core/Common/Commands/ToLowerCaseCommand and ToUpperCaseCommand:
  - Added two string transformation command
Added new features to TextNode and added a new command (FillStringCommand)
CodeSharper/CodeSharper.Core/Texts/TextNode:
  - Added and tested AttachTo/Detach methods to TextNode
CodeSharper.Core/Common/Commands/FillStringCommand:
  - Added a new FillString Command
  - Tested in CommandTestFixture.cs
Added a new TextDocument class. It represents raw text of source code. Its node are the text nodes which are shallow versions of tree.
CodeSharper.Core/Texts/TextDocument:
  - Added a new class which is the root of text tree
  - Moved AppendChild, RemoveChild and Children methods from TextNode
CodeSharper.Core/Texts/TextNode:
  - Removed Children, AppendChild and RemoveChild methods
  - Changed type of Parent from TextNode to TextDocument
Refactored from TextNodes to TextDocument => Now TextNodes are light-weight version of nodes in raw texts.
CodeSharper.Core/Common/ConstraintChecking/
  - Added DebuggerStepThrough attribute to methods in constraints for skipping these methods
Made some bug fixes in Texts and Commands
Added Moq library to testing solution to making mock object easily.
CodeSharper/CodeSharper.Core/Common/Commands/ReplaceTextCommand:
  - Added ReplaceTextCommand to commands
  - You can easily replace text in text nodes
Implemented ComposeCommand in commands and fixed some bugs in TextDocument
CodeSharper.Core/Common/ComposeCommand:
  - Implemented command for composing multiple commands
Refactoring:
 - Moved every commands from namespace CodeSharper.Core.Common to CodeSharper.Core.Common.Commands
Added FindTextCommand to commands
CodeSharper.Core/Common/Commands/FindTextCommand:
  - Implemented a new command for finding text in text documents
CodeSharper.Tests.Core/Common/CommandTestFixture:
  - Added test cases for testing FindTextCommand class
CodeSharper.Core/Common/Commands/ComposeCommand:
  - Moved to Commands namespace
[Breaking changes] Refactored and merged TextSpan and TextNode classes to TextRange class.
CodeSharper.Core/Texts/TextSpan:
  - Removed from class hierarchy and merged into TextRange
CodeSharper.Core/Texts/TextNode:
  - Renamed to TextRange class
Refactored and removed TextRange helper methods (Append, AppendTo, Prepend, PrependTo).

CodeSharper.Core/Texts/TextRangeHelper:
  - Refactored and removed some methods in this class