Merge pull request #357 from untitaker/sprint-branch

Small micro-optimization for datastructures
Removed a to_unicode call in headers
Removed a dead import
Removed exec_ since it's not strictly necessary and cleaned up some indentation.
Merge pull request #358 from untitaker/sprint-branch

Fix small concat bug in .debug
Add __bool__ to LocalProxy on 3.x
uri_to_iri -- allow unicode port
Merge pull request #359 from puzzlet/sprint/urls

uri_to_iri -- allow unicode port
Initial attempt at a rewrite of werkzeug.urls

This rewrite in part incorporates a modified version of urllib.parse,
this gives us better control over how URLs are represented across Python
versions.
Fixed indentation in Href.__call__
Fix uriparse
Fix escaped str vs. bytes issue in quote
Use uppercase hex chars in quotes
Fix tuple decoding error in urisplit
Coerce values to str() before quoting
Quoting produces bytes
Be explicit about keyword arguments
Add unsafe keyword argument to url_unquote
Coerce keys to native strings before quoting
Fix query as fragment unquoting in uri_to_iri