Urldecode parameters before calling callAction

When using string primary keys, before this patch the controllers are
passed the chunk of URL for each parameter verbatim. This means every
single controller method needs to run `urldecode` on the parameters if
there might be spaces or other urlencoded entities in them.
Merge branch 'urldecode-paramaters-before-callaction' into patched