echo is not portable

backslashes in arguments to echo are undefined. more specifically, in
some implementations backslash escapes will be interpreted, in some they
won't. printf should be fine.
removed some declarations of undefined static functions
missing ; in debug mode
undefined variable in debug mode
Now compiles on MacOSX
Now compiles on !MacOSX again :)
printf is not portable

printf is not available on many unix like system (e.g. embedded ARM fan
controllers). cat with here-document should be even more widely
available. Thanks to Chris Angelico for proposing this solution.
Runtime: Added support for casting types to program.

Casting an object type value to program will now result in the
corresponding program. eg:

  program p = (program)_typeof(o);

is approximately the same as

  program p = object_program(o);
-ggdb gives more debug information than -ggdb3 with modern gcc:s.
Use rdrnd for random if available (experimental)

This gives better (and faster) random than the pseudorandom function,
in fact unless you have a broken modified intel CPU it is hardware
thermal noise random.
Fixed rdrand invocation.

There is a distinct lack of documentation about __builtin_ia32_rdrand32_step.
Fixed RDRND handling for one more case.

This is the somewhat unlikely case where the hardware random unit
breaks down after pike has verified that it is there.

In this case the code will now switch to the old random.

http://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide

describes the unit in some detail.
4x faster random_string.
Type checker: Added find_object_type().
Runtime: program_from_type() now uses find_object_type().

This fixes a bug where program_from_type could return eg the program
for a function object argument and similar. It now only recurses
meta types and not value types.
Efuns: Fixed trailer fixup code in random_string().

Due to missing compensation for the three byte offset from the main
loop in the fixup loop, the fixup loop never did anything.

Also a minor optimization of the previous code.
System.FSEvents: update documentation a bit.
FSEvents: documentation fix.
Filesystem.Monitor: some documentation cleanup.
Fix signedness warning.