Add __iter__ function to Args object

Currently, looping over `arguments.Args()` returns `None` infinitely. This adds support for iterating over `Args`

Currently:

```
>>> for arg in arguments.Args():
>>>    print arg
None
None
...
None
```

With `__iter__`:

```
>>> for arg in arguments.Args():
>>>    print arg
arg1
arg2
```