Specify a minimum version of C++ the system needs to support
Remove extras from .travis config
Fix up C++ version auto-detection.

    If the there is a minimum version required and it is supported.
    Then use it unless the user explicitly tried to set a version