Refs #8962 Skeleton classes made for save, load and tests

Classes for the new save and load algorithms, which I've called SaveReflTBL and LoadReflTBL, have been made with enough data that they'll compile but do not much else.

Test skeletons ahve also been made
Refs #8962 Lines are read and converted properly.

getCells() takes a string and splits it into 17 columns (no more, no less or it'll throw) delimited by commas.

Cases for EOL characters have been included as the fileDescriptor provided in Confidence does different things than a ifstream opened manually, and i found it gave me a \r character i needed to deal with.
refs #8962 Move extractToEOL from LogParser to Strings

The extractToEOL Kernal namespace method has been moved to the Kernal::Strings namespace where it makes more sense to be alongside other string and ascii stream methods

The change was made because of the difficulties i was having with the binary files stream provided by the FileDescriptor.
Refs #8962 extractToEOL now used instead of getline

Changed calls to std::getline to Mantid::Kernel::Strings::extractToEOL in order to make sure I don't read in any EOL characters
Refs #8962 Added ITableWorkspace to Load's output workspace types

ITableWorkspace has been added to the list of output workspace types load is expecting to output.
Refs #8962 LoadReflTBL complete and refactored

getCells has been refactored into a nubmer of smaller methods and now returns size_t.

The algorithm now builds and outputs a tableworkspace like it should, and ignores blank lines.
Refs #8962 Tweaked column headers, Added Docs

Added some comments to the content checks to explian them more.

Tweaked the columns headers to have no plot type and altered a couple of names
Refs #8962 Fixes to loader

The loader had a problem where large groups of commas at the start of the row would cause the loader to become confused and skip a cell. Fixed so that it now looks if it was the first column or not, rather than looking at the place of the last found comma.

The stitch ID has been fixed to be an int to help the save algorithm
Refs #8962 Written unit test for Loader

Test includes cases for unquoted data, quoted data, incorrect columns and blank files
Refs #8962 Stich group IDs now start at 1

In order for an unedited stitchID column in the Table to be classed as "in it's own stich group", stitch groups needed to start at 1 rather than 0, so that 0 is classed as unedited.

The Load aglorithm and test have been updated for this.
Merge remote-tracking branch 'origin/feature/9318_mantid_dev_additions'
Refs #8962 Updated Load test

One test haddn't been updated when the stich group indexes were changed to start at one
Refs #8962 LoadReflTBL tidied up

Removed unneeded headers

Streaming to the row object is now in a count controlled loop

Call to the logger just before throw removed

Some Copyright stuff removed from header
Refs #8962 Save Algorithm written

Save algorithm now saves in the same format as the original python function, however this doesn't save a bunch of trailing lines of commas to the file.
Refs #8962 Unit test for SaveReflTBL

Unit test has been written and tests data with and without commas, failing on a group too large, failing when the tableworkspace isn't wide enough, and also that the files can be Loaded with LoadReflTBL.
Refs #8962 Added wiki and documentation

Added missing Wiki info and fixed some docuamtation so that doxygen will find it
Merge branch origin/master into 'feature/8962_Save_Load_Refl_tbl'

Conflicts:
	Code/Mantid/Framework/Kernel/src/LogParser.cpp

Refs #8962
Merge branch 'feature/8962_Save_Load_Refl_tbl' into develop