2.3 Regression: generator comprehensions not availible until Python 2.4
Merge pull request #172 from dimo414/master

Fixing regressing introduced by fix for issue 148
web.database now accepts a URL, $DATABASE_URL (fixes #171)
forgot to return port in dburl2dict
use 'port' as keyword for pgdb
Merge pull request #173 from sandesh247/master

use 'port' as keyword for pgdb
Set paramstyle for FirebirdDB, was defaulting to pyformat and broke DB.insert. Kinterbasdb expects qmark.
Password keyword for FirebirdDB was wrong, was passwd should be password. Corrected syntax for setting the database and password keywords. Now uses pop() to maintain consistency with the other drivers.
Merge pull request #177 from benthepoet/master

FirebirdDB __init__ needs to be fixed
Added a gaerun method to start application for google app engine
Merge pull request #178 from Habel/gaerun

Added a gaerun method to start application for google app engine
some improvements to dburl2dict
Fix issue 183 as a pull request

Fixes unhelpful "Bad data" error message as per [issue 183](https://github.com/webpy/webpy/issues/183).
Merge pull request #184 from benhoyt/patch-1

Fix unhelpful "Bad data" error message (issue 183)
allow custom messages for most errors
Merge pull request #187 from bflyblue/master

Optional message for HTTP Errors
use PORT variable if available
Add IPv6 support.

Authored by mordervomubel ( https://github.com/mordervomubel )
GitHub issue webpy/webpy #70
Added doctest for validip and validaddr
Merge pull request #196 from mordervomubel/master

ipv6 doctest for validip and validaddr