Raise an error if the unittest.rseed isn't valid.

For example, am empty string make many tests fails.
Automatically add the equivalent of the --march=native flags.

It is done in a safe way if we share the compiledir.
use g++ instead of gcc following code review.
Added debug info.
Be more selective when detecting the -march=native flags to use.
Add logging and don't crash if we can't detect the -march=native equivalent flags.
cache the detected -march=native flags.
Fix the logger.
Use the logger and pep8 fix.
if the user pass any -march=X flags, don't try to add them ourself.
Small fix following code review.
Merge pull request #1255 from nouiz/march

add equivalent of -march=native to g++ command line.