Fix a bug while interpreting an exception list.
Use ArrayIterator instead of ArrayObject.
New interfaces for the @throwable clause.

The @throwable clause implements IteratorAggregate and Countable.
New @throwable clause API.
Add a weak stack.

A weak stack is a stack where null elements are not iterated. Example:

    $stack = new WeakStack();
    $stack->push(2);
    $stack->push(null);
    $stack->push(4);
    $stack->push(null);
    $stack->push(null);
    $stack->pop();

    foreach($stack as $element)
        var_dump($element);

    /**
     * Will output:
     *     int(4)
     *     int(2)
     */
Take @throwable into account when iterating.