Travis: split the build into three parallel jobs

Split the build between:
* Basic checks
* A build in the default configuration with extensive tests
* Builds in other configurations with less testing

The intent is to have one shorter job with basic tests, and two longer
jobs that take roughly the same amount of time (split as evenly as
possible while keeping an easy-to-understand separation).

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
diff --git a/.travis.yml b/.travis.yml
index 11d679c..39d4263 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,24 +3,35 @@
 sudo: false
 cache: ccache
 
-script:
-- tests/scripts/recursion.pl library/*.c
-- tests/scripts/check-generated-files.sh
-- tests/scripts/check-doxy-blocks.pl
-- tests/scripts/check-names.sh
-- tests/scripts/check-files.py
-- tests/scripts/doxygen.sh
-- cmake -D CMAKE_BUILD_TYPE:String="Check" .
-- make
-- make test
-- programs/test/selftest
-- OSSL_NO_DTLS=1 tests/compat.sh
-- tests/ssl-opt.sh -e '\(DTLS\|SCSV\).*openssl'
-- tests/scripts/test-ref-configs.pl
-- tests/scripts/curves.pl
-- tests/scripts/key-exchanges.pl
+jobs:
+  include:
+    - name: basic checks
+      script:
+        - tests/scripts/recursion.pl library/*.c
+        - tests/scripts/check-generated-files.sh
+        - tests/scripts/check-doxy-blocks.pl
+        - tests/scripts/check-names.sh
+        - tests/scripts/check-files.py
+        - tests/scripts/doxygen.sh
+
+    - name: default configuration
+      script:
+        - cmake -D CMAKE_BUILD_TYPE:String="Check" .
+        - make
+        - make test
+        - programs/test/selftest
+        - OSSL_NO_DTLS=1 tests/compat.sh
+        - tests/ssl-opt.sh -e '\(DTLS\|SCSV\).*openssl'
+
+    - name: enumerated configurations
+      script:
+        - tests/scripts/test-ref-configs.pl
+        - tests/scripts/curves.pl
+        - tests/scripts/key-exchanges.pl
+
 after_failure:
 - tests/scripts/travis-log-failure.sh
+
 env:
   global:
     - SEED=1