Switch to single argument for controller arguments
Update json_pre_dispatch to also send request object
Include params parsed from the route

Also changes get_param to use POST (if relevant), then GET, then the URL
parameters. This mirrors the previous behaviour from v1.