Support separate HTTP ports for Raft and API

Yeah, that works. There were a bunch of functions like that before but I removed them because I didn't know what we were going to keep.