Remove #if NET35 code
Fix typo
Fix typo, make class as static
RavenDB-665 When specifing the Result type in the index, the compiler automatically omits any cast to the type.
This works:
public class NullableIndex : AbstractMultiMapIndexCreationTask<Result>
		{
			private class Result : Nullable
			{
			}

			public NullableIndex()
			{
				AddMap<Nullable>(nullables => nullables.Select(nullable => new
				{
					String = (string)null,
					Decimal = (decimal?)null,
					Double = (double?)null,
					Float = (float?)null,
					Long = (long?)null,
					Int = (int?)null,
					Short = (short?)null,
					Byte = (byte?)null,
					Bool = (bool?)null,
				}));
			}
		}

But this does not:
public class NullableIndex : AbstractMultiMapIndexCreationTask<Result>
		{
			private class Result : Nullable
			{
			}

			public NullableIndex()
			{
				AddMap<Nullable>(nullables => nullables.Select(nullable => new Result
				{
					String = (string)null,
					Decimal = (decimal?)null,
					Double = (double?)null,
					Float = (float?)null,
					Long = (long?)null,
					Int = (int?)null,
					Short = (short?)null,
					Byte = (byte?)null,
					Bool = (bool?)null,
				}));
			}
		}

The issue is that the compiler will strip the cast (string) since the type is know at compile time. The issue that the type is omitted in the client before it sent to the server.

Starting from the next build, the following will be supported too:
public class NullableIndex : AbstractMultiMapIndexCreationTask<Result>
		{
			private class Result : Nullable
			{
			}

			public NullableIndex()
			{
				AddMap<Nullable>(nullables => nullables.Select(nullable => new Result
				{
					String = null,
					Decimal = null,
					Double = null,
					Float = null,
					Long = null,
					Int = null,
					Short = null,
					Byte = null,
					Bool = null,
				}));
			}
		}

We automatically infer the type and cast the null to it type. An effort was done to use CSharp keywords for the type instead of the full .net framework name, in order to keep the index definition as small as possible.
More robust namespace check.
Take into account nullable types which aren't have a C# keyword, like DateTime?.
1. Remove extra (), in the form of: ((System.String)propName). Will be just (System.String)propName.
2. Avoid code duplication. Use CSharp keywords when possible. Will be (string)propName instead of (System.String)propName.
Avoid converting/casting the type twice, which is the case for anonymous objects which has the Convert(type). Fix fixes the following added failing test AnonymousNullableIndexDoesNotCastTwice.
Fix a failing test due the changes in 292fe39a7708b410cabde0d67fa7e57bbb89ca11.
RavenDB-599 cleaning up all the "#if !NET35" bits
Fix a typo
RavenDB-599 cleaning up all the "#if !NET35" bits
Upgrade xUnit runner, and use NuGet restore in order get the exe instead of having the files in the tools folder.
RavenDB-599 cleaning up all the "#if !NET35" bits
RavenDB-599 cleaning up all the "#if !NET35" bits
Fix a failing test due the changes in 292fe39a7708b410cabde0d67fa7e57bbb89ca11.
minor formating
Put the check for the index errors in the right location
Avoid exposing public Thread class
minor
Fix a failing test and add another passing test