refactor: use the 'Delegating' prefix to indicate test double,

rather than 'Fake'. This terminology is based on xunit patterns.
refactor: rename TestCase to TempTestCase.
dev: introduce the new TestCase class.
dev: add null guard clauses.
dev: implement Delegate property.
dev: implement ConvertToTestCommand.
dev: introduce TestCase<T>.
dev: add null guard clauses to TestCase<T>.
dev: implement Delegate of TestCase<T>.
dev: implement ConvertToTestCommand of TestCase<T>.
dev: add guard clauses for compsite delegates.
dev: impelement generic TestCase classes using text template.
dev: address the code-anlaysis warning(CA1005).
dev: add some tests to the test case class(TestCase<T1, T2>)

to verify that the class was generated correctly.
dev: rectify test double names.
refactor: change the parameter type from IMethodInfo to Delegate.
refactor: use reflection rather than DynamicInvoke.
dev: use TestCase rather than TempTestCase.
dev: delete TempTestCase.
docs(readme): modify to reflect the changed usage of TestCase.