Initial Intel compiler support

Modified CMakeLists.txt to apply proper flags for icc/icpc. I have disabled some remarks by default for the following reasons:
1) When compiling with OCE_EXTRA_WARNINGS, the errors produced make a ~620 MB text file. These 4 remarks account for about 600 MB of those errors. It's impossible to try and work through a 620 MB text file.
2) AFAIK, gcc and clang (even with OCE_EXTRA_WARNINGS) don't mention any of these things except for the unspecified order warnings.
3) These remarks are pretty pointless anyway; using temporaries for literals is unavoidable AFAIK (#383), there's nothing wrong with const int foo() (#858), and the only time #981 applies is when you do I/O in one of the functions. I considered fixing the redeclared inline warnings, but see 2) above.
Other commits are to simply fix bugs or warnings issued by Intel. Some commits are marked MinGW because it gave the same error as well.