bug fix for shared index after 3+ level hierarchy

In the following case, the shared index hierarchy will fail to use the index in the neo4j, when saving any instance of **C** creating the **C** index when not necessary.

```python
class A(SemiStructedNode)
  __index__ = CustomIndex
class B(A)
  pass
class C(B)
  pass
```