Browser-like unicode URL support

This addresses both #22 and #23.

- with_netloc now encodes the netloc with IDNA
- a new 'encode' method re-encodes the entire URL so it's properly escaped