Feature: iterator

This PR adds a new method `Sequence::iterator()` as per https://github.com/xp-forge/sequence/issues/8#issuecomment-68360458. 

Quoting http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html:

> However, if the provided stream operations do not offer the desired functionality, the BaseStream.iterator() and BaseStream.spliterator() operations can be used to perform **a controlled traversal.**

## Example
```php
use util\data\Sequence;
use util\cmd\Console;

class Primes extends \lang\Object {

  protected static function within($seq) {
    $it= $seq->iterator();

    if ($it->hasNext()) {
      $p= $it->next();
      $f= Sequence::of($it)->filter(function($e) use($p) { return $e % $p !== 0; });
      return Sequence::concat([$p], function() use($f) { return self::within($f); });
    } else {
      return Sequence::$EMPTY;
    }
  }


  public static function main($args) {
    self::within(Sequence::of(range(2, 100)))
      ->each(function($e) { Console::write($e, ' '); })
    ;
    Console::writeLine();
  }
}
```

The above calculates prime numbers up to 100 and outputs them.

```sh
$ xp Primes 
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```

See also http://stackoverflow.com/questions/19803058/java-8-stream-getting-head-and-tail