vk-layer-generate.py: put layer functions into a namespace

Move everything into namespace object_tracker and unique_objects
respectively.  I had to add some wrappers to make everything work.
diff --git a/layers/object_tracker.h b/layers/object_tracker.h
index 30a1f29..623600a 100644
--- a/layers/object_tracker.h
+++ b/layers/object_tracker.h
@@ -28,6 +28,8 @@
 #include "vk_layer_table.h"
 #include "vk_layer_utils.h"
 
+namespace object_tracker {
+
 // Object Tracker ERROR codes
 enum OBJECT_TRACK_ERROR {
     OBJTRACK_NONE,                     // Used for INFO & other non-error messages
@@ -107,8 +109,6 @@
 static uint64_t numTotalObjs = 0;
 std::vector<VkQueueFamilyProperties> queue_family_properties;
 
-template layer_data *get_my_data_ptr<layer_data>(void *data_key, std::unordered_map<void *, layer_data *> &data_map);
-
 //
 // Internal Object Tracker Functions
 //
@@ -1059,3 +1059,5 @@
     lock.unlock();
     return result;
 }
+
+} // namespace object_tracker
diff --git a/layers/unique_objects.h b/layers/unique_objects.h
index 6c2c2e3..0da90a1 100644
--- a/layers/unique_objects.h
+++ b/layers/unique_objects.h
@@ -39,6 +39,8 @@
 #include "vk_safe_struct.h"
 #include "vk_layer_utils.h"
 
+namespace unique_objects {
+
 // All increments must be guarded by global_lock
 static uint64_t global_unique_id = 1;
 
@@ -393,3 +395,5 @@
     }
     return result;
 }
+
+} // namespace unique_objects