fix DateTime json encode serialisation

This fix the problem #1412 
Is not complete, because I trying to find a way for the user customise the *jsonEncodable* but I can't find a way that do not changes the signature for Function request = (HttpResponseConfig config). If I inject the configuration it can't be  accessed in the method because *this*  is not in the scope. 
One solution should create a static factory in other class.
But ```DateTime.utc(...)``` will change as the datetime from the machine? and then the test will fail with not reason (since the test need to be predictable). Anyway is not relevant, since the serialization use ```item.toIso8601String()``` and it handles all cases:

    main(){
      var date1 = new DateTime(1970,01,01);
      var date2  = new DateTime.utc(1970,01,01);
      print(date1);
      print(date2);
      print(date1.toIso8601String());
      print(date2.toIso8601String());
    }

In my machine It prints (and I think is wrong since my timezone is -03, but that is other thing :-):

1970-01-01 00:00:00.000
1970-01-01 00:00:00.000Z
1970-01-01T00:00:00.000
1970-01-01T00:00:00.000Z