Pass all arguments to Boom and add the ability to append a data key to the payload

Resulting output of:

`res.boom.badRequest('Validation Failed', { name: ['required']})`

    {
        "statusCode": 400,
        "error": "Bad Request",
        "message": "Validation Failed",
        "data": {
            "name": ["required"]
        }
    }