Improvements to core.time.

The primary goal of these changes is to improve the unit tests so that
they will all run and pass on all platforms, but I also ended up
improving the documentation and making a few other tweaks (such as
adding opBinaryRight to Duration for adding and subtracting with a
TickDuration as the first argument in addition and subtracation). It's
probably a bit much to change all at once, but it looks good from what I
can see, and the unit tests are much improved (and all are passing).
Help the stack walker to find the location of a throw statement
Fix range violaions in Posix exception handling code.

The code would previously lead to a range violation (and thus an infinite loop because an exception was thrown during exception handling) when druntime was built without bounds checking disabled.

At first sight it seems like the old code could work, but what really happens is that it first index into the (dummy) length 1 static array, and then takes the address, not the other way round.

phi and pcb are intended to be pointers to DHandlerInfo/DCatchBlock, this is also what the original C code did.
Merge pull request #85 from klickverbot/eh-range-violation

Fix range violaions in Posix exception handling code.
Merge pull request #76 from jmdavis/time

Improvements to core.time.
POSIX exception handling: terminate when no appropriate EH found
fixed int=>size_t errors
Fix broken 64bit druntime build

Also change cache sizes to size_t since they will probably exceed 32 bits
one day.
Merge pull request #89 from donc/fixcpuid

Fix broken 64bit druntime build
fix bug in recognizing 64 bit files
Issue 7020 - Exception thrown across DLL is not caught.

http://d.puremagic.com/issues/show_bug.cgi?id=7020
Added the comparison by the TypeInfo name.
fix for 64 bits
Merge branch 'master' of github.com:D-Programming-Language/druntime
Size optimisation on core/demangle.d (4.5Kb saved)

Replaced a large number of repititious case
statements with a data-driven approach, saving a
few Kb of .text.

Also replaced a few range case statements with
equivalent inequality checks as these generate
better code with DMD.
Merge pull request #92 from shoo/fix7020

Issue 7020 - Exception thrown across DLL is not caught.
Don't abuse X86 and X86_64 to make bitness-based decisions; use D_LP64 instead.
Use D_InlineAsm_X86(_64) to determine whether inline assembly should be built, not X86(_64).
Merge pull request #93 from alexrp/master

Don't abuse X86 and X86_64 to make bitness-based decisions; use D_LP64 instead.
toString() is not a property.
Use parens to refer to TypeInfo.init().

At a later point, init() probably should be renamed as to not conflict with the built-in .init, and made a @property.