Split up Reply into ReplyRaw, ReplyEmpty, ReplyData and ReplyDirectory and introduce the Reply trait