FTP request opcode

This PR do:

1. Add req_opcode for returning request opcode in response messages.
2. Offsets response opcodes from request. This change allow us to add new opcodes without compatibility breaks.
3. Remove extra CRC32.
Why change the name from "padding" to "reserved" as well as change the comment? This makes it less clear as to why this is here. I can see "reserved" to keep people from touching this, but you should leave the comment about 32-bit alignment. Also the padding should now be 2 uint8_t's since you added one more byte to the structure.