revert no-longer-required workaround for mystery bug, close #3396
Warnings for missing documentations.
Only trigger missing documentation warnings to public functions and fields.
Issue #6419: Better clang version detection for Apple Clang

Apple Clang uses different version numbering than "regular" clang, but
it also provides the "regular" version it's based on. Update the sed
pattern to pull out this "regular" version number instead of the Apple
version number.
librustc: Allow intra-crate start functions, for runtimeless operation.
make the memcpy/memmove intrinsics higher-level

This allows them to make use of the type's alignment, instead of being
pessimistic and assuming it is only 1.
C++0x -> C++11
add memset32/memset64
use uninit for cast::transmute_copy
add an align parameter to call_memcpy
make transmute_copy use memcpy, and inline it
inline bump_box_refcount
Add a short section on ARC
mark unique pointer parameters as noalias

Closes #6749
update ctags define
auto merge of #6761 : ILyoan/rust/ctags, r=thestinger
auto merge of #6688 : graydon/rust/issue-3396-mystery-bug-in-metadata, r=Aatch

Whatever it was, it is no longer a problem here.
Refactor core::run in order to address many of the issues
mentioned in #2625.

This change makes the module more oriented around
Process values instead of having to deal with process ids
directly.

Apart from issues mentioned in #2625, other changes include:
- Changing the naming to be more consistent - Process/process
  is now used instead of a mixture of Program/program and
  Process/process.
- More docs/tests.

Some io/scheduler related issues remain (mentioned in #2625).
Make test_change_working_directory change the current
directory to be the parent of the current-current directory,
instead of changing to the tmp directory, which was causing
issues with OS X and its /tmp => /private/tmp symlink.
Rename unwrap_input/unwrap_output as suggested by
@brson. Also fix a few documentation bugs.