Issue #228: Allowed the setting of custom headers

This pull-request allows you to pass custom request headers down to PhantomJS. The syntax for doing so is a little different to [the PhantomJS equivalent](https://github.com/ariya/phantomjs/wiki/API-Reference-WebPage#wiki-webpage-customHeaders), but is relatively simple:

In PhantomJS, you might do something like:
```javascript
var page = require('webpage').create();
page.customHeaders = {
  'Accept-Language': 'it-IT',
  'Max-Forwards': '6'
};
```

And (with this patch), you can do:
```java
capabilities.setCapability(PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX + "Accept-Language", "it-IT");
capabilities.setCapability(PHANTOMJS_PAGE_CUSTOMHEADERS_PREFIX + "Max-Forwards", "6");
```

*Similar resolved issues:* Issue #134 

**Technical notes:**
After the iterations on the implementation, we've ended up with a bit of duplication. My Javascript skills are sufficiently bad that I'm not going to refactor it without the tools to test afterward (latest commit is from a dying laptop with no charger), so I'll leave that in for now. To be fair, it reads fine anyway.

Also, it'd be nice to update the page.customHeaders object so that we don't lose any previous key/values that may have existed. Not *really* a problem, as it doesn't look like we have any default headers at the moment anyway, but it might need to be changed in the future.