add id() to responsePacket interface

and add id() to couple of packet structs missing it
used 0 for structs without ID as it doesn't matter for them
diff --git a/packet-typing.go b/packet-typing.go
index eb02953..5e714d1 100644
--- a/packet-typing.go
+++ b/packet-typing.go
@@ -14,6 +14,7 @@
 
 type responsePacket interface {
 	encoding.BinaryMarshaler
+	id() uint32
 }
 
 // interfaces to group types
@@ -81,6 +82,8 @@
 func (p sshFxpStatusPacket) id() uint32 { return p.ID }
 func (p sshFxpStatResponse) id() uint32 { return p.ID }
 func (p sshFxpNamePacket) id() uint32   { return p.ID }
+func (p sshFxpHandlePacket) id() uint32 { return p.ID }
+func (p sshFxVersionPacket) id() uint32 { return 0 }
 
 // take raw incoming packet data and build packet objects
 func makePacket(p rxPacket) (requestPacket, error) {