Turn RestClient.Request() logging down the debug and comment out for now.
Fix bug in "show modules" comamnd that was showing shared modules as non-shared and non-shared as shared
refactor: use existing Compiler.CreateScriptsDirectory() (renamed to CheckOrCreateScriptsDirectory()) when checking that scripts directory exists on compile.

Code was identical apart from error logging, but if there are failures creating these directories then you'll be
seeing lots of errors anyway, and these will be more informative
If [XEngine] ScriptStopStrategy is changed between abort and co-op, for the existing session use the previous strategy for that script rather than not starting the script at all.

We have to do this since we can't unload existing DLLs if they're all in the same AppDomain.
But we can still update the underlying DLL which will be used in the next simulator session.
minor: further cleanup of old vb and yield prolog script engine references that were removed some time ago
minor: Move debug xengine script console command to Debug help section where other debug commands live.
Call RemoveScriptInstance when removing from inventory
minor: Remove compiler warning in GridService
Use thread-safe version of .NET Random as the SDK class is not thread-safe.

As per http://msdn.microsoft.com/en-us/library/system.random%28v=vs.100%29.aspx, the .NET Random class is not thread-safe.
If called by multiple threads at once, methods may return 0.
Except for llRand(), other OpenSimulator code did not lock before calling a shared Random instance.
This commit adds a ThreadSafeRandom class that extends Random but does internal locking so that it is thread-safe.
This change is invisible to existing callers and the explicit locking in the llFrand() implementation is now redundant.
Update information in OpenSimDefaults to reflect the fact that ScriptStopStrategy in [XEngine] can now be changed without manually deleting old compiled scripts.
Change default script stop method to co-op instead of abort.

co-op should be more stable as it doesn't abort threads, which can trigger virtual machine instability
This change will be invisible to users as script DLLs are recompiled automatically where necessary, though the change won't take affect until the next simulator restart.
This change has no effect on existing script state.
If you want to continue using abort, set ScriptStopStrategy = abort in the [XEngine] section of OpenSim.ini
fix all instances of "non-existant" to "non-existent" (spelling mistakes) thanks Ai Austin for pointing this out.
BulletSim: rearrange code to prevent using null pointers when a
child mesh is not available when building a linkset.
With ODE physics, fix an issue where the avatar couldn't jump and then move forward when moving south or west.

Addresses http://opensimulator.org/mantis/view.php?id=5003
Thanks to UbitUmarov for this fix.
refactor: slightly adjust some code in ODECharacter.Move() to eliminate a condition check without changing the logic
Add ICommands.HasCommand() method so that we can detect whether a command has already been registered without needing to also run it
minor: add method doc to ICommands.HasCommand()
In grid mode, add SuppressConsoleCommands flag to [GridService] so that we can stop misleading grid service only console commands from registering.

We need to do this because the simulator initializes and internal copy of the GridService in grid mode for internal purposes
Add "show region" command which will show parameters for current region.

This shows static data (e.g. region agent limit) whereas "show scene" shows live data (sim fps, current prims, etc.)
minor: Add meters unit to water height console display