Fixed skipping of XAuth parameters with OAuthParameterHandling.UrlOrPostParameters.
Added support for serialization for classes containing IList properties
Added ExecuteAsync overloads that return Task<T>. fixes #366
Renamed methods to conform to TPL standards and added overloads for GET and POST specific usage and added overloads without CancellationToken
- Added missing ErrorException initializer when creating RestRequest<T> from regular request.
- Modified Deserialize<T> so that the deserialization is only preformed when the request returned successfully. This because the current implementation threw an useless error when for example the request timed out and no correct header was present to be processed. This error was not cought and even if it was it would override the source error already stored in the request object.

In addition to this, a bare object was returned even when there was nothing to deserialize (invalid request, ex. 404). The returned object should of been null.
Fix bug with not set ResponseStatus.Aborted if the request was aborted just after starting.
"== ResponseStatus.Completed" more correctly than "!= ResponseStatus.Aborted"
Better support for nullable types
Better support for nullable types
Improved handeling on nullable types (propper commit this time)

VS seems to be out of sync an doing strange things hence the odd commits
Fix for Issue #384

Implemented multipart/form-data POSTS with only parameters and without
files.
Fixed ClientCertificate NotImplementedException on mono runtime.

In mono there is no setter for the ClientCertificates property on the WebRequest
class, and therefore it throws a NotSupportedException. However, if the collection
is empty upon access a new instance is added and returned, thus, one can simply
add the current certificates to the request's certificate collection.
Extract creating the response with error status into the CreateErrorResponse method.
Don't strip trailing slash when adding query parameters as per RFC1738 and RFC2396
Fixed indentation
Throw an exception when ExecuteTaskAsync fails
Added unit tests for task-based async methods
A hacky fix for the decimal parse error which happens for very small numbers like "0.00005557"

A simple program which recreates the error:
using System;
using RestSharp;

namespace RestSharpJson
{
    class Program
    {
        static void Main(string[] args)
        {
            var json = "{\"value\":0.00005557}";

            var ds = new JsonDeserializer();

            var resp = new RestResponse()
                           {
                               Content = json
                           };

            var result = ds.Deserialize<Number>(resp);
            Console.WriteLine(result.value);
            Console.Read();
        }

        class Number
        {
            public decimal value { get; set; }
        }
    }  
}

ConvertValue gets value as double already and it needs to convert it to decimal. To do that it transforms it to string. At this step our double value turns into this "5.557E-05". Decimal.Parse is unable to read it.
Fixed the indentation in the JsonDeserializer.cs
Added a unit test which reproduces the issue.
moving version into a single spot