Add tests for web UI and fix some bugs
- We can now use Test::WWW::Mechanize to test the UI.
- Fix submissions of URLs with characters that require HTML escaping (Closes #314 (closed)).
- Suppress information on the principal edit/view screen if the current user can't modify the principal.