Streamline Travis Build

- Use two scripts: `tools\travis_before_install.sh` and `tools\travis_script.sh`.
- Before install is `source`ed to make all the changes occur in the main shell. 
- In it we now create bash functions to `retry` a command within a shell script, and to create Travis folds using the `section` and `section_end` functions.
- We run the script directly instead of the standard Travis script to allow for the folding behaviour.
Sections will be folded unless there is an error, at which time the build will stop immediately, allowing the failure to be readily visible at the bottom of the build text.
- Also updated `travis_notes.txt` and moved it to `tools` for visibility while editing travis files.