Implemented a new type of pluggability that allows compilation-affecting attributes to be applied to entities and assemblies before compilation
Added an IAutomaticMetadataAttributeApplier pluggable class that can be used to add metadata attributes to any type before script compilation.
Use the new pluggability infrastructure for [DefaultMemberReflectabilityAttribute]
Added the possibility for the runtime library to specify how fields are initialized
Create a CustomInitializationAttribute and validate it
Implement custom initialization
Updated history
Allow plugin attributes to report errors
Created a [DontGenerateAttribute] that can be used to suppress code generation for a method or constructor
BREAKING CHANGE: [IntrinsicProperty] no longer implies [PreserveName]
Names for accessors can now use the placeholder {owner} to denote the name of their owning entity
Created a [BackingFieldName] attribute that can be used to specify the name of the backing field for an automatically implemented property or event.
Revert "Implemented G/g number formatting"

This reverts commit 39259b07fc0b1fd08e496e72f2dd8521f151a459.

Apparently I didn't check this commit thoroughly enough, and it has (at least) the following problems:

1. (0).ToString() returns an empty string (the biggest problem), and
2. I don't like the extra argument to netFormatNumber. I think we should always use the default of 15 (and trim trailing zeroes).
Merge remote-tracking branch 'upstream/develop' into develop