Added base GUI files. Refs #7637.

- __Note:__ I had to name the files `ICatSearchTwo` as the current ICAT GUI files already exist with the `ICatSearch` name. This will be updated once the older GUI files are removed from Mantid.
Added search button to GUI. Refs #7637.

- This allows me to display and test the functionality of the new ICAT interface.
- __Note:__ The method name and comments will be changed once complete (and old ICAT GUI is removed).
Improved variable names in ui file. Refs #7637.
Interface window now appears on top of Mantid. Refs #7637.

- Made icatsearch a member variable to prevent possible memory leak.
Outline for class functionality. Refs #7637.
Added show/hide functionality for first two frames. Refs #7637.
Renamed class and filenames to abide by standards. Refs #7637.
Added helper class and `getInstrumentList` method. Refs #7637.

- Updated instrument name in the `.ui` file.
Added helper class to `ICatSearch2` GUI class. Refs #7637.

- Added functionality for `populateInstrumentBox()`
Added functionality for `populateInvestigationTypeBox()`. Refs #7637.
Added functionality for the calendar including slots. Refs #7637.
Minor code improvements. Refs #7637.

- Removed unnecessary method.
- Added `m_` to distinguish member variables.
Added help functionality. Refs #7637.

- __Note:__ The url links to an old `CatalogSearch` page, but will be updated once the GUI is functional.
Field names to match `CatalogSearch` in `.ui` file. Refs #7637.

- Renamed member variables within `ICatSearch2.cpp`.
- __Note:__ The `CatalogSearch.cpp` algorithm obtains values to search for via the `getPropertyValue`. As such, the names have to match, which is why I changed them. However, in the new interface there is no longer a `datafile` field. Moreover, the `run range` is in one field, and options need to be discussed to see how the user will most likely input the seperator (e.g. start,end run as 100,110 or 100-110 or 100:110).
- Also, `InvestigatorSurname` no longer exists in the GUI, and is instead the whole name.
Implemented searching functionality. Refs #7637.

- Removed the inputMask from the date fields to prevent checking if the field contained "//" prior to adding it to the map. When the date is selected from the calendar the user it's separated just like the input mask requires.
Implemented search results functionality. Refs #7637.

- Added more relevant rows to `ICat4Catalog` to abide by new design.
- Implemented helper methods in `ICatSearch2` to allow `populateResultTable` method to focus on it's task.
- Reads the results from the search query that are save to a workspace and ouputs them into the "Search results" table.
Implemented "My data only" functionality. Refs #7637.

- Added a new property to the `CatalogSearch` algorithm to enable the algorithm to make us of the field.
- Updated the query in `ICat4Catalog` to reflect the new property and to enable the required functionality.
- Removed useless slot from `ICatSearch2.h`
Added investigation id to match algorithm requirements. Refs #7637.

- Earlier I removed `Investigation id` field from the `saveInvestigations` method. I forgot that `GetDataFiles` requires the id in order to do the search. As such, I have added this to the method.
- I have hidden the investigation id from the GUI in `ICatSearch2` as it's not useful for the end-user.
Added error message if no search terms input. Refs #7637.
Removed unnecessary methods. Refs #7637.