Add random() for openarrays
Merge pull request #1363 from Araq/devel

Merge devel into master
More robust implementation for finding the beginning of the stack.

This patch inserts an extra stack frame above the function that
calls the actual Nimrod code and ensures that a reference to this
frame is stored as the stack bottom.
Add newSeqWith
Add automatic MAP_POPULATE flag for opening read_only (MAP_PRIVATE) and shared (MAP_SHARED) mmap files.
Do not automatically use MAP_POPULATE for opening mmap files.

Adds use_map_populate keyword to memfiles.open and memfiles.mapMem
to govern MAP_POPULATE use. This is set to false by default.
Revert "Do not automatically use MAP_POPULATE for opening mmap files."

This reverts commit cba75db4e36b3af0d39b5717141a971e6d558554. The prior
commit yields a compiler error 'error: lvalue required as left operand
of assignment; MAP_POPULATE = ((int) 0);'. So for now this branch
*always* adds MAP_POPULATE when using the open and mapMem procs.
Only try to import MAP_POPULATE on Linux, define flag as 0 otherwise.
Documents nimcache file naming scheme. Refs #852.
Makes ios example work again with new paths. Refs #852.
Corrects description of nimcache file naming. Refs #852.
Fix #1424
nice error message
fixes #1456
Fix #1424 some more
Fixes incorrect async exception handling. Adds sleepAsync.

The tasyncexceptions test has been added which tests for this incorrect
exception handling behaviour. The problem was that the exception was
raised inside a callback which was called from a previously finished async
procedure. This caused a "Future already finished" error. The fix was to
simply reraise the exception if the retFutureSym is already finished.

sleepAsync was added to help with the reproduction of this test. It should
also be useful for users however.

Finally some debug information was added to futures to help with future
bugs.
Fixes async on Linux.
More future debug info. Added new error code to SafeDisconn list.
Fixes #1435
Adds documentation on skipTypes and mapType