Reorder core.memory.GC methods to keep add/remove pairs together.

This commit merely swaps the two function definitions. addRoot and
addRange are really quite different semantically, there is no point
in mixing them.
Clarify GC.addRoot/addRange semantics.
Deprecate msync in favor of MemoryOrder.
Add WS_EX_* enums.
Implement TypeInfo_AssociativeArray.getHash to correctly calculate hash
value for AA's.
Improve code per Andrei's suggestions.
Fix compile errors with nothrow.
Fix const-correctness of _aaGetHash.
support more instructions
Add _d_run_main to give applications more control at start

Signed-off-by: Jakob Bornecrantz <wallbraker@gmail.com>
Merge pull request #339 from Wallbraker/master

Add _d_run_main to give applications more control at start
Use regular section for core.memory »Notes to implementors«.

Mostly makes it easier to read, especially in narrow browser
windows. Also added a few references.
Merge pull request #322 from klickverbot/add-root-docs

Clarified GC.addRoot/addRange behavior.
Don't require conservative scanning of addRoot()'ed blocks and TLS variables.

addRoot() seems to have been mentioned because its documentation was
unclear before, and TLS variables due to an overly pessimistic
interpretation of garbage.dd.
more simd overloads
Merge branch 'master' of github.com:D-Programming-Language/druntime
add more SIMD
more SIMD
Merge pull request #342 from klickverbot/core-memory-notes

Reformat core.memory »Notes to implementors« and tweak conservative scanning requirements
Refactor `rt.lifetime.rt_finalize`