Add user-overrideable GtExceptionHandler class

Also: the code to call the class if an exception reaches the top of
the call stack without being handled.
Remove redundant try/catch from DomEl.
Add length property to EmptyObject.
Change HttpError data check to typesafe
Add IP, PORT and REFERER to log output options
Update Logger to handle empty referer field

Currently a warning is written to the web server log if the logger tries
to access the HTTP_REFERER index on $_SERVER and it's not present (e.g.
when a user refreshes or comes to the page from a bookmark).  This fix
checks first to make sure the referer is set.
Implement Iterator interface on EmptyObject

Removes the need to check length on something returned by a $dom
selector - and ensures no weblog errors if you forget-to.
Merge pull request #169 from 8w/8w-EmptyObject-Iterable

Implement Iterator interface on EmptyObject
Merge pull request #168 from 8w/8w-add-logger-tokens

Add IP, PORT and REFERER to log output options
Merge branch 'master' into live
Merge branch '8w-improved-exception-handling' of github.com:8w/PHP.Gt into PR-8w-improved-exception-handling

Conflicts:
	Framework/EmptyObject.php
Merge branch 'PR-8w-improved-exception-handling'