Merge pull request #1353 from realityking/session3

Fix a bug where the session could be started twice and additional improvements to JSession.
Move JURI to its own package.
Stop using the deprecated JFactory::getURI()
Build multi-key update support for JDatabaseDriver::updateObject.
This commit provides support for providing an array as the key to the JDatabaseDriver::updateObject method. This permits updating objects where there is more than a single key for the given table. JDatabaseDriver::insertObject does not require this because it can directly insert without worrying about providing a where clause which is required for the update statement to work properly. This change is backwards compatible and will map the `$key` from a string to array if a string is provided. Support is also provided for re-mapping an object into an array for using objects as well for the key.
fixed xml response data from url
Merge pull request #1358 from realityking/uri

Move JURI to its own package. Stop using JFactory::getUri().
Merge pull request #1361 from pasamio/updateobject_multikey

Build multi-key update support for JDatabaseDriver::updateObject.
Merge pull request #1362 from juliopontes/staging

JUpdate load form XML - fixed empty response data
Re-add isError into the JError legacy class
Route Query String Fix and Raw Route
This commit fixes an issue where if a query string contained a colon in it (e.g. ?filters=content_id:20) that PHP's parse_url function would get confused. This meant that it would fail to properly process the path resulting in the first path segment being truncated erroneously and no match found for the route. This pull request preprocesses the route to remove the query string before parse_url function so that it will work reliably.

The second change is pushing into the input the raw route for the request. This is to permit direct access to the route segments in the controller should it wish to make further decisions based on the route segments. A use case is multiple hard coded mappings where the last segment is not variable however may have meaning to the individual controller (e.g. there are limited options available that can be reasonably elaborated).
There is no reason no to allow blank article bodies.
Merge pull request #1366 from elinw/blankarticle

There is no reason no to allow blank article bodies.
Tidy isError comments and remove by ref param.
Update unit tests in JTableContent
Merge pull request #1368 from elinw/blankagain

Fix unit tests for JTableContent. Failure introduced in #1366.
According to the PHP documentation memory_get_usage() is always available starting with PHP 5.2.1.
Let mysqli be the base class for mysql instead of the other way around.
This this is a necessary first step to eventually get rid of mysql.
Merge pull request #1371 from realityking/mysql

Let mysqli be the base class for mysql instead of the other way around.
Merge pull request #1370 from realityking/memory

Remove workarounds in JProfiler::getMemory() for when memory_get_usage() is not available.
Fixes for extension update adapter