Fixed _startRealIndex & _endRealIndex movements while pushing new objects

+added checks and additional validations
+fixed bug with fitting circular buffer to capacity
+removed index validation private method
+fixed bug with setting _endRealIndex after pushing front being fully
"charged" (isFull == YES)