Add project Common.Logging.Portable45.2010.csproj

.NET 4.5 portable profile 259.
Compatible with Xamarin for iOS and Android.

PCL profile 259 description:
portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1
Use separate obj output paths for portable projects

To avoid "already in use" errors when building from Visual Studio
since they have the same name of the assembly file.

Msbuild does not seem to have this problem.
Fix compile errors for .NET 4.5 portable project

Mostly related to reflection. Solved using compile conditions on
PORTABLE45.

WinStore introduced a new reflection API with TypeInfo and newer PCL
profiles use this instead, but the existing Portable project is the
older profile 136 that does not support this, so we need to
distinguish between PORTABLE (profile 136) and PORTABLE45 (profile 259).

The new reflection API is only available on .NET 4.5 and later, so as
long as .NET 4.0 support is desired we will need to distinguish these
two. An improvement would be to rename the PORTABLE condition to
PORTABLE40.

Breaking change in ExceptionFormatter.cs:
Thread information is not available in profile 259 as
far as I can see. I've set the string to "N/A" on the thread ID for
now. Either we must inject a function to retrieve the thread ID using
a platform specific API or find a way to access it from PCL profile 259.
Add .NET 4.5 portable profile to nuget
Rename compile condition PORTABLE to PORTABLE40

It currently represents PCL profile 136 for .NET 4.0.
Helps disinguish it from PORTABLE45 (profile 259).
Rename project to Common.Logging.Portable.2010-net40

For consistency among -net20, -net40 and -net45 variants.
Fix paths in portable nuget

Should use platform specific compiles.
Delete seemingly obsolete project