Build scripts: Use strict error checking to propogate errors to underlyi...

...ng shell (hint: travis).

Stops builds from showing success when there was an error.
Had to workaround grep's issue of returning '1' when there is no matches. There is unfortunately no alternative.
Removed bin/bash header as it could restrict alternative shells.
Used set -e to break script whenever a non-zero return is encountered.
CMake was returning non-zero on CMAKE_TOOLCHAIN_FILE not being required. Now check for that in CMake instead of platform/abi. If the abi is missing and toolchain is not, that would have been the wrong advice anyway.