Cleaned smart pointer aliases and node/reg/inst keys

Scoped the aliases within the classes requiring them. Made separate
aliases for pointers and constant pointers. Created node/register
key aliases.

Change-Id: Iaed5ed7955d781c77e5c294351851c1523c6e28e
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/src/register/hei_register.hpp b/src/register/hei_register.hpp
index 7cc28eb..e0473aa 100644
--- a/src/register/hei_register.hpp
+++ b/src/register/hei_register.hpp
@@ -26,6 +26,10 @@
 */
 class Register
 {
+  public: // Aliases
+    using Ptr      = std::shared_ptr<Register>;
+    using ConstPtr = std::shared_ptr<const Register>;
+
   public:
     /** @brief Pure virtual destructor. */
     virtual ~Register() = 0;
@@ -44,7 +48,4 @@
 // Pure virtual destructor must be defined.
 inline Register::~Register() {}
 
-/** Pointer management for Register objects. */
-using RegisterPtr = std::shared_ptr<const Register>;
-
 } // end namespace libhei