Allow multiple values for headers to be set

You can now set multiple headers of the same name by providing an array
instead of string value like so:

``` php
<?php
$response['headers']['X-Some-Header'] = array(
    'some value',
    'another value',
);
// Transforms into two headers:
//     X-Some-Header: "some value"
//     X-Some-Header: "another value"
?>
```
Abstract out header sending into methods