[mcs] Relax struct definitive assignment rules for private fields
[mcs] Fix parsing member access expression with await simple name
[sgen] Enable binary protocol by default, make the heavy stuff optional.
[sgen] Binary protocol entries for world stop/restart with timestamps.
[sgen] Tool for visualizing GC pauses from binary protocols.
[sgen] Make mod-union consistency check work again.
[sgen] Small refactoring of sgen_card_table_update_mod_union().
[sgen] Make missing remset debugging easier.
[sgen] Don't scan cards in no-reference LOS objects.
[sgen] Count cards for binary protocol.
[sgen] Make binary protocol grep work without search addresses.
[sgen] Fix remset consistency check in presence of cementing.
[sgen] Fix CLEAR_AT_GC.

We end up with faux arrays when we’re allocating new objects, but
the nursery must be zeroed.  We just zero the first few words when the
TLAB is created to get rid of the array header.

An alternative would be to erase the headers once the nursery
collection is over, which is cleaner and would only zero what we know
must be zeroed, i.e. it would catch errors in cases where we now
overwrite non-zero garbage in the nursery.  That’s an unlikely case,
though, and we don’t use this debug feature often anyway.
[sgen] Fix M&S object iteration.

When we want to iterate without sweeping, then on blocks that
have not been swept, we can only iterate over objects that are
marked.
[sgen] Counter for time we spend starting and stopping the world.
[llvm] Add a LLVM_API_VERSION define which is incremented in llvm every time there is a public api break. This allows the llvm backend to compile with different versions of LLVM.
[llvm] Update the LLVM backend to the LLVM mono-2014-04-17-cc117f4ad24a7ae6743ab6f08b8f5e8fc65d2d7f branch.
Disable the self-assign warning when using clang.
[llvm] Remove unused LLVM_MONO_BRANCH define.
Fix the build.