Adds a test for circular structures.

acts_as_tree does not check for circular structures in the models it is
invoked on.
Adds validation concerning circular structures.

Infinite tree fetching no more.
Merge pull request #171 from opf/fix/circular-structures

Adds a test and validations for circular structures.