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.
Besides the dependency on another module, is there a reason to avoid using `f` in particular? I find `f-join` to be more self-explanatory than `expand-file-name`, but I'm happy to be convinced that the dependency isn't worth it.