selftests

This converts several of the selftests to return a status in their exit code
about whether they 'worked'.

A small bash script framework is added, with a selftest.sh in the mininmal
example dirs that support it, and a ./minimal-examples/selftests.sh script
that can be run from the build dir with no args that discovers and runs all
the selftest.sh scripts underneath.

That is also integrated into travis and the enabled tests must pass now for
travis to pass.  Travis does not have a modern libuv so it can't run a
couple of tests which are nulled out if it sees it's running in travis env.
diff --git a/scripts/travis_install.sh b/scripts/travis_install.sh
index f7695bb..c74d373 100755
--- a/scripts/travis_install.sh
+++ b/scripts/travis_install.sh
@@ -6,6 +6,11 @@
 then
 	sudo apt-get update -qq
 
+	if [ "$LWS_METHOD" == "lwsws" ];
+	then
+		sudo apt-get install -y -qq realpath;
+	fi
+
 	if [ "$LWS_METHOD" == "libev" ];
 	then
 		sudo apt-get install -y -qq libev-dev;
@@ -14,6 +19,7 @@
 	if [ "$LWS_METHOD" == "libuv" -o "$LWS_METHOD" == "lwsws" ];
 	then
 		sudo apt-get install -y -qq libuv-dev;
+#libuv1 libuv1-dev;
 	fi
 
 fi