Enable HTTP Verb in Routing

Using array for HTTP Verb

e.g:
$route['(:any)']['POST'] = "controller/post_method";
$route['path']['GET'] = "controller/path_get_method";
$route['path']['(:any)'] = "controller/path_any_method";

Using (:any) or not will make same result
e.g: $route['path']['(:any)'] == $route['path']

So it won't break existing route
Fix HTTP Verb Routing Rules

Fix code style, removed (:any) rule in http verb to avoid confusion, and
add proposed documentation and changelog
Update user_agents.php

Added Ubuntu Web Browser. More info here:
http://www.omgubuntu.co.uk/2013/11/ubuntu-touch-browser-finally-given-unique-user-agent-string
Fix #2406 query builder cache

Signed-off-by: GDmac <grdalenoort@gmail.com>
docs: get_compile_select

get_compile_select(null,false) without reset also preserves LIMIT settings
Merge pull request #2712 from pveyes/develop

Enable HTTP Verb in Routing
Merge pull request #2718 from vkeranov/develop

Update user_agents.php
Polish changes from PR #2712
Merge branch 'develop' of https://github.com/EllisLab/CodeIgniter into develop
Cleanup PR #2719

for Fix #2406 query builder cache

Signed-off-by: GDmac <grdalenoort@gmail.com>
Merge pull request #2719 from GDmac/develop

Fix #2406 query builder cache
[ci skip] Remove some whitespace chars
Deprecate CI_Input::is_cli_request() and add common function is_cli() to replace it

Calls to this function are often needed before the Input library is available
Add CLI error templates and only send HTTP status headers for non-CLI requests (issue #1743)
Update the upgrade instructions for error templates