router: Added X-Request-Id header to close #66

I realize this is a feature and not a bug, but I hoped it would be worth doing. And it was some low hanging fruit that I could tackle.

router: Added X-Request-Id header to requests sent to backends. Will reuse existing X-Request-Id, if the client supplies it.
router: Added tests to verify X-Forwarded-For will append existing X-Forwarded-For header from the client.
Closes #66.
That being said, I still don't think this is a good idea. Logs will get weird if a client repeats the same request ID.