new implementation for cell_iterator

Previous implementation failed on pools with only one cell, note this
implementation does not look for next available cell until the
dereference operator (-> or *) is called.
That implies a little overhead on repeated dereferences.
The MANAGEMENT type for basic access control is now bool.
fixed typo and access to private member