Initial commit of FunctionMerge project

FunctionMerge project - used to identify individual functions within
a set of files to be merged.
Add switches, directories and refactor

Switches for commands added
Directories added
Some debug arguments added for testing
Add the DoCommand() method

Add method to act on a given command passed in through the arguments
Add FileParser class to the repo

File Parser class used to parse files and add any SHA1 IDs for
identification of functions/regions
Add Sha1 generator to project

Add a SHA1 generator object to the project to produce a random 40 digit
SHA1 hash when required.
Add basic file parsing methods

Add a basic file parser to replace __SHA1__ strings with a unique ID,
although this is not a SHA1 ID, it is a GUID using .net's GUID generator
Refactor command and switches classes

Refactored classes to contain the list of commands and switches
Correct output display for command

Command now displays correct last command received
Add FunctionDiff and KeywordIdentifier classes

Add KeywordIdentifier class for use with both FunctionDiff and
FileParser classes. Add FunctionDiff to begin separating out functions
for diff tool comparison.
Add UniqueIdentifiers class and other updates

Add the UniqueIdentifiers class to isolate unique identifiers within
keyword blocks. Also fix the SHA1 random hash generation.
Stashed commit - a bit hackey
Merge remote-tracking branch 'github/master'