Implementing RIT (also using Boost.MultiIndex)

Repair the bug with Name::Components::operator ==
diff --git a/model/name-components.h b/model/name-components.h
index 097152e..5749fcc 100644
--- a/model/name-components.h
+++ b/model/name-components.h
@@ -94,6 +94,9 @@
 bool
 Components::operator== (const Components &prefix) const
 {
+  if (m_prefix.size () != prefix.m_prefix.size ())
+    return false;
+  
   return std::equal (m_prefix.begin (), m_prefix.end (), prefix.m_prefix.begin ());
 }