#4079 - Route::uri() Should encode parameters

Route::uri() does not handle special characters well, so now it uses
rawurlencode to fix this problem

See: http://dev.kohanaframework.org/issues/4079
Removed pointless array check and moved uri's key & value to provider
Merge pull request #427 from JackEllis/bugfix-4079

#4079 - Route::uri() Should encode parameters