Non-Persistent HTTP RPC Support

Hi, we have a microservice system based on rpcplus, we now need to export most of our services to the browser, since rpc uses a persistent connection and connects with "CONNECT" method, i refactored some part of the code and added a "server" that handles single open-close request responses. It has so small differences from other "servers"

With this change anyone will be able to use rpcplus as their web api server.


This is an example for  http api

````
func main() {
	server := rpcplus.NewServer()
	server.Register(new(methods.Arith))

	mux := http.NewServeMux()

	contextCreator := func(req *http.Request) context.Context {
		return context.Background()
	}

	rpcwrap.ServeHTTPRPC(
		mux,                    // httpmuxer
		server,                 // rpcserver
		"json",                 // codec name
		jsonrpc.NewServerCodec, // jsoncodec
		contextCreator,         // contextCreator
	)

	fmt.Println("Server listening on 3000")
	http.ListenAndServe("localhost:3000", mux)
}
```
I don't think you need to break this out. Take a look at ServeRequest & ServeRequestWithContext. They were built for this.