Started on AlgorithmFactoryTest

The AlgorithmFactoryTest.h file has a skeleton in there now ready for the tests

AlgorithmTest has had a bit of code refactored into it's own .h file. They are "fake" algorithms specifically for testing.

Refs #3344
First test written for AlgorithmFactory

Susbscribe now has a test.
A second testCreate was deleted.

Refs #3344
Progress being made with test suite

The test suite is coming along, only a few more tests to write

Refs #3344
Fixed some bugs in AlgorithmFactory

There were a couple of rather major bugs which it's a wonder hadn't been found until now.

The first was that decodeName() could go out the range of the string and return garbage if there wasn't a bar cahracter in the supplied string. A check has been added which will throw an exception if one isn't found.

The second was that getCategories() didn't work at all as the loop wasn't executing due to the variable "it_end" used in the condition not being initialised correctly. It's now initialised correctly to categoryMap.end().

Refs #3344
Finished AlgorithmFactoryTest and added a new Fake Algorithm

A new fake algorithm has been added to help test the category methods.

The Test suite has been completed with tests for all methods and error cases where applicable

Refs #3344
Fixed a load of identical compiler warnings

The compliers were complainign about a conversion from size_t to int, so i changed it to top them complianing

Refs #3344
Merge remote branch 'origin/feature/3344_AlgorithmFactory_Test_Suite'