On code section that rezzes single objects and attachments, reduce CPU use by reading asset XML a single time with a stream reader rather than multiple times.

Reading large XML documents (e.g. complex attachments) is CPU expensive - this must be done as few times as possible (preferably just once).
Reading these documents into XmlDocument is also more resource intensive than using XmlTextReader, as per Microsoft's own publication "Improve .NET Application Performance and Scalability"
Optimization of other cases will follow if this change is successful.
minor: Eliminate more unnecessary code copying individual parameters for Vector3 copying in Scene - this is not necessary as Vector3 is a value type
Add regression test for deserializing xml objects with more than one non-root part.
Fix recent regression test TestDeserializeXmlObjectWithOtherParts() which was not meant to indent the input xml
Ignore whitespace when reading serialized XML objects.

This was previously effectively being done by XmlDocument in the multiple passes through the XML.
This change tells XmlReader to ignore whitespace.  This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly.
XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
Implement STATUS_BLOCK_GRAB_OBJECT in llSetStatus()/llGetStatus() and correct effect of STATUS_BLOCK_GRAB

As per http://wiki.secondlife.com/wiki/LlSetStatus
Setting STATUS_BLOCK_GRAB_OBJECT prevents or allows move of a physical linkset by grab on any prim.
Setting STATUS_BLOCK_GRAB prevents or allows move of a physical linkset by grab on a particular prim.
Previously, setting STATUS_BLOCK_GRAB would prevent drag via all prims of the linkset.
Fix issue where moving a seated avatar would not adjust their subsequent stand position.

Addresses http://opensimulator.org/mantis/view.php?id=7299
As per the LL grid, for attachments make llGetObjectDetails() OBJECT_ROT return the avatar's rotation.

This is already the behaviour of OBJECT_POS.
Partially satisfies http://opensimulator.org/mantis/view.php?id=7177
minor: fix wrong indentation in previous commit 0cc3cd
As per the LL grid, for attachments make llGetObjectDetails() OBJECT_VELOCITY return the avatar's velocity and not always Vector3.Zero.

This completes http://opensimulator.org/mantis/view.php?id=7177
As per the LL grid, if an avatar is sitting then return it's velocity relative to the region rather than relative to its seat.

Resolves http://opensimulator.org/mantis/view.php?id=7175
Merge branch 'master' into ghosts