adding universal Encode/Decode #124

Why `EncodeRequest`/`DecodeResponse` have been moved to the root package? I think we can keep it in `io.finch.request` and `io.finch.response` correspondingly.