Fixed the decompressor to handle arrays correctly

- Arrays have no default constructor so they were causing the Activator.CreateInstance to throw
Added PayloadDecompressorFacts