Replacing request.el with our own fork.

The primary change is that we now get proper JSON response data in error
responses. This is critical for properly interacting with YCMD.
IMHO it is not necessary to depend on a package for one function and one call which can be easily exchanged with built-in functionality. And the built-in version isn't even more complex or extensive. I think the package `f` is good, but I would use it for heavy file and filepath work. I personally try to avoid unnecessary dependencies when it is possible.