* adds support for `--psol-from-source` so you don't need binary modules, and `--devel` so you can run our tests without going and getting all our dependencies
* adds submodules for testing: mod_pagespeed, ngx_cache_purge etc
* adds support for running as:
```
git clone git@github.com:pagespeed/ngx_pagespeed.git
cd ngx_pagespeed/
git checkout <branch>
scripts/build_ngx_pagespeed.sh [options]
```
* depends on the scripts @hillsp is working on so that we can just check out mod_pagespeed and ask it to build and rebuild itself
* adds colors to output to make it easier to read
We want to parse $additional_configure_args into an array the way the
shell would, which we're using eval for. But because we were missing
quotes whitespace was being stripped. Basically:
$ function lines() { for x in "$@"; do echo "$x"; done; }
$ lines a "b c" d
a
b c
d
$ a='a "b c" d'
$ eval e=($a)
$ eval f=("$a")
$ lines "${e[@]}"
a
b c
d
$ lines "${f[@]}"
a
b c
d
We were doing this like e when we should have been doing it like f.
* build_ngx_pagespeed: handle quoted arguments
If you enter --with-cc-opt='-arg1 -arg2' when the script asks for
additional arguments we want that to remain as one chunk all the way
through to being a single argument to ./configure