Use Class extends & clone values in HttpRequest / HttpResponse constructors

`Class extends` used to not touch global Function.prototype (discouraged in NodeJS world)

cloning of values provided to HttpRequest and HttpResponse to avoid any manipulation with data used (can occur during validation ~ e.g. lowercase happens to header-keys)