Merge of feature/50-url, resolving #50.

Squashed commit of the following:

commit 45d5136058ba94a0c5093202e50757a8c8b58d18
Author: Alice Bevan-McGregor <alice@gothcandy.com>
Date:   Sat Sep 3 15:16:53 2011 -0400

    Added `marrow.util` dependancy.

commit 544c5b1337caae9cdf18348a452bb943cadfdcb3
Author: Alice Bevan-McGregor <alice@gothcandy.com>
Date:   Sat Sep 3 15:07:02 2011 -0400

    Minor PEP-8-ifcation.

commit 0112df47110d0c46b1af3125a011c62144f75722
Author: Alice Bevan-McGregor <alice@gothcandy.com>
Date:   Sun Aug 21 14:44:15 2011 -0400

    Additional tests for non-root application and correction of minor bug found by the tests.

commit 71c93566fec2883f1df4f8d5995b2b0faba05073
Author: Alice Bevan-McGregor <alice@gothcandy.com>
Date:   Sun Aug 21 14:36:00 2011 -0400

    Added tests and shuffled import around to prevent circular references.

commit 2bd8abe27aadf52016772fc1fdbe394c8d556bc8
Author: Alice Bevan-McGregor <alice@gothcandy.com>
Date:   Sat Aug 20 14:01:01 2011 -0400

    WebCore now keeps track of the current controller path (vs. controller + method which is stored in script_name during method execution) and the URL helper seems to work well, as demonstrated in the examples/url.py demonstration.

commit 9fa3e30ed09d18312817196e39a5af08c32b2d37
Author: Alice Bevan-McGregor <alice@gothcandy.com>
Date:   Fri Aug 19 23:52:56 2011 -0400

    Moved the url module to the correct location and extracted the template namespace declaration to match the others.

commit c8731052dddaa65b32017ac0e9508e79d9635d31
Author: Alice Bevan-McGregor <alice@gothcandy.com>
Date:   Fri Aug 19 23:45:52 2011 -0400

    Basic syntax declaration and some documentation strings.

commit 3c1d0ad25756658877ab0bb23a6885497172d762
Author: Alice Bevan-McGregor <alice@gothcandy.com>
Date:   Fri Aug 19 23:09:32 2011 -0400

    Now stores original SCRIPT_NAME in environment for use by the url object.
Merge of feature/56-json-rpc, implementing #56.

* Initial JSON-RPC implementation.
* 100% unit test coverage, fixed some silly bugs (like module naming).
Merge of feature/55-util, resolving #55.

* Rearranged imports and eliminated unused ones to be consistent.
* Switched a number of __all__ imports to import specifically used objects.
* Ensured correct encoding was defined in every module.
* Eliminated direct references to webob.exc in favour of web.core.http.
* Switched all relevant references from using web.core.utils to marrow.util.
* Swapped references for paste.deploy conversion routines for marrow.util.convert ones.
* Enforced modified PEP-8 compliance.
* Added no-cover to deprecated utility modules.
Merge of feature/58-xml-rpc, resolving #58.
Partially resolves #41.

* XML-RPC is now armoured against all sorts of different faults.
* Not all faults can be captured or apply to Python, however.
* Added XML-RPC tests and corrected errors discovered by them.
Merge of feature/41-rpc-tests, resolving #41.

* Full unit tests for Flash AMF.
Skip coverage of a statement that can not be tested currently as it is only used by profiling… and profiling messes with coverage.
No longer explicitly limits the data value to a dictionary; fixes #61.
Updated examples; fixes #43.
Updated the render() callable to be equivalent with returning a template
name and parameters from a controller and added a documentation section
describing its use; Fixes #16.
Template names may now be unicode; fixes #64.
Merge.
Updated the render() callable to be equivalent with returning a template
name and parameters from a controller and added a documentation section
describing its use; Fixes #16.
Added new database callback, `ready`, and deprecated the others; fixes #45.
Fixed failing test.
Full coverage; fixes #76.
Removed references to deprecated callbacks; fixes #78.
Full coverage; fixes #75.
Full coverage and resolved a minor bug; fixes #68.
Fixed minor issues and full coverage; fixes #67.
Added support for injecting environ entries in requests.