flex/ifaces: add final keyword to type-erased derived classes
flex/http: refactor to allow for compile-time polymorphism implementation

Remove the "flex::http::Server" type from the HTTP server interface.
Instead clients must call "flex::http::make_server()" to create a server.
This allows the implementation to switch to a templated "Server" type
without requiring changes in client source files.
flex/impls/stream_io: make StaticallyBufferedStreamIO support compile-time polymorphism

Also modify flex/http/server.cpp to support new API.