Refactoring the URL system, reduces the usage of globals, and no longer ...

Result of this morning's pairing session with Ryan.

Refactoring the URL system, reduces the usage of globals, and no longer swallows all exceptions. Closes #232.

The URL system still needs more work... just when we thought we new what was going on, we got all confused again by the 'define method inside a lambda stored in a global hash', but this is certainly a great start.