Removed some useless tests

This is not a complete audit of this test script (which might in
fact be required).
removed the boilerplate tests

This should be done somehow with Dist::Zilla.
refactored generation of order_index

The difficulty here is that the construction of an object might
trigger the autoconstruction of other objects before the higher
order object is registered with the construction object. Therefore,
count_object will not return the correct number of objects, yet.

Still, the old way where the order_index generation was decoupled
from object construction was not very clean. Specifically, I could
not make order_index a required attribute. I have solved this by
introducing an explicit counter attribute in Construction. Whenever
you ask for counter it is atomically incremented.

This means that order_index does not implicitly reflect the number
of objects. Right now, the numbers are still incremented along each
other, but if it becomes possible that object creation is aborted
(after add_object has been called) then counter has been
incremented, but the object never gets registered. However, it has
never been claimed that order indices go hand in hand with the
number of objects.
Merge branch 'refactor_order_index' into towards_0.024
predicate and clearer made private

...as recommended by Moose best practices