add additional iterator interfaces

Summary: This adds additional interfaces according to the PHP manual. It also fixes the ArrayIterator to use the new SeekableIterator interface

Reviewed By: @elgenie

Differential Revision: D1675544

Signature: t1:1675544:1415777887:5e30ee1f5ea989f26da4737aff3e0a0c7f88aeb8
Type strlen's return value.

Reviewed By: @jwatzman

Differential Revision: D1684676

Signature: t1:1684676:1416267418:92a95a89da8d767474ec3c3f63569f227204cb51