refactor: use SOG.HasPrivateAttachmentPoint in SOP.SendTerseUpdateToClient() instead of attachmentpoint magic numbers.
Use HasPrivateAttachmentPoint properties in SOG.DeleteGroupFromScene() instead of magic numbers
Add state file location to errors logged when there's some issue with retrieving state (e.g. exceeds memory limit)
Retrigger build - last jenkins run was glitched
Add item id, name, prim name and id to log message when state exists but loading fails.

Drop logging about memory limit exceeded to warn from error
Add regression test for updating attachment position
refactor AttachmentsModule tests to use a common method for standard attachment item setup
Merge branch 'master' of /home/opensim/var/repo/opensim
Fix bug where attachments would not retain position if just rotated and not moved.

This was because we were not setting AttachedPos in SOG.UpdateGroupPositionPR, unlike UpdateGroupPosition
Stop flicking IsAttachment false and then true in AttachmentsModule.UpdateAttachmentPosition() in order to avoid a hud update race condition.

Previously, setting IsAttachment to false then true was necessary to serialize the updated attachment object information.
However, UpdateAttachmentPosition no longer does this update.
Whilst IsAttachment is set to false there is a race condition where the update thread can wrongly send hud object updates to clients that do not own the hud, resulting in screen artifacts.
Eliminate unnecessary extra call to TriggerEmptyScriptCompileQueue in XEngine.DoOnRezScriptQueue()

The later invocation of this function will happen on an empty compile queue.
If starting scripts on initial sim start, provide INFO level log feedback each time 50 scripts have been started.

This is to provide an indication of what's happening now that the default isn't to report every single script start.
Changes XEngine logging level in OpenSim.exe.config from WARN to INFO.
Avoid race condition between m_PrimObjects iteration in XEngine.PostObjectEvent and places where the list is modified by extending the m_PrimObjects lock.
Avoid a race condition where an incoming request to a script external URL can trigger an exception is the URL was being removed at the same time.

This involves three steps
1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index
2) Return true instead of false in HasEvents() if no matching request is found in the map.  This call will only happen in the first place for raced requests.
3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK.

Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
Resolve various race conditions between accessing and removing external script URLs by more consistently locking on m_UrlMap
Merge branch 'master' of /home/opensim/var/repo/opensim
Fix script "Running" behavior

  Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
Fix script "Running" behavior

  Unchecking "Running" box in script editor now persists. This fixes http://opensimulator.org/mantis/view.php?id=6057
Merge branch 'master' of /home/opensim/var/repo/opensim
In AttachmentsModule.DetachSingleAttachmentToInvInternal(), remove attachment before changing properties for correct inventory serialization.

Serialization of attachments requires IsAttachment = false so that correct positions are serialized instead of avatar position.
However, doing this when a hud is still attached allows race conditions with update threads, resulting in hud artifacts on other viewers.
This change sets SOG.IsDeleted before serialization changes take place (IsDeleted itself is not a serialized property).
LLClientView then screens out any deleted SOGs before sending updates to viewers.