layers: Improve descriptor copy update validation

Add buffer usage bit validation for descriptor copy updates.
Pass down known descriptor type to copy validate function to
avoid having to look it up again.
Fix various incorrect "write" references in the copy update
error messages.
diff --git a/layers/descriptor_sets.h b/layers/descriptor_sets.h
index a211d2f..b0496b1 100644
--- a/layers/descriptor_sets.h
+++ b/layers/descriptor_sets.h
@@ -345,7 +345,8 @@
 
   private:
     bool VerifyWriteUpdateContents(const VkWriteDescriptorSet *, const uint32_t, std::string *) const;
-    bool VerifyCopyUpdateContents(const VkCopyDescriptorSet *, const DescriptorSet *, const uint32_t, std::string *) const;
+    bool VerifyCopyUpdateContents(const VkCopyDescriptorSet *, const DescriptorSet *, VkDescriptorType, uint32_t,
+                                  std::string *) const;
     bool ValidateBufferUpdate(VkBuffer, VkDescriptorType, std::string *) const;
     // Private helper to set all bound cmd buffers to INVALID state
     void InvalidateBoundCmdBuffers();