VS2010 support

Notes:

* VS2010 can maximally target .NET 4.0, so we have to remove the aggressive-inlining there. Could you somehow use [`ConditionalAttribute`](http://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute.aspx) instead?
* You can't `lock` null!