[runtime] Further reduce the usage of the loader lock in the metadata code by moving code out of locked regions and using the image lock instead.
Merge pull request #1249 from mattleibow/master

[system.data] DataRows with a NULL RowError incorrectly indicated HasError
Added System.IO.InternalBufferOverflowException class to the mobile profile
This method is internal in the mobile profile
[mcs] more nonliteral constants pattern matching
Changed InternalGetCharCount to iterate the bytes as InternalGetChars.
Do not specify key file when building for mobile, it should be passed on command line
Added class EncodingTester that can be used to test fallbacks.
EncodingTester is a testing helper class with a method TestDecoderFallback that makes DecoderFalback testing  easier.
Bring fix for Cecil, includes fix for F#/Fody
Added UTF8EncodingTest.EncodingFallback.
EncodingFallback tests for multiple invalid inputs the unknownBytes that are given to the DecoderFallback.
Changed UTF8Encoding to call fallback with whole byte sequences.
Removed unnecessary parameters ref byte [] bufferArg.
This changes are required by UTF8EncodingTest.EncodingFallback that in some cases is expecting multibyte values..
Changed overlong byte to be processed again.
The byte is processed again because it can be the begin of a new multi-byte encoded character.
Merge pull request #1251 from esdrubal/utf8encoding

UTF8Encoding Fallback