Executes a DELETE.

        'path' may not be None. Should include the full path to the
        resoure.
        'data' may be None or a dictionary.

        Returns a named tuple that includes:

        status: the HTTP status code
        json: the returned JSON-HAL

        If the key was not set, throws an APIConfigurationException.

def delete(self, path, data=None):
        """Executes a DELETE.

        'path' may not be None. Should include the full path to the
        resoure.
        'data' may be None or a dictionary.

        Returns a named tuple that includes:

        status: the HTTP status code
        json: the returned JSON-HAL

        If the key was not set, throws an APIConfigurationException."""

        # Argument error checking.
        assert path is not None
        assert data is None or isinstance(data, dict)

        # Execute the request.
        response = self.conn.request('DELETE', path, data,
                                     self._get_headers())

        # Extract the result.
        self._last_status = response_status = response.status
        response_content = response.data.decode()

        # return (status, json)
        return Result(status=response_status, json=response_content)