Implement CanRedownloadInterface + Enhance AbstractCrudObjectTestCase::assertCanCreate() + Apply to AdSet and AdGroup

Summary: Add Support for redownload parameter into AbstractCrudObject::create()

Test Plan: run tests
Implement Cursor ImplicitFetch + bidirectionality + signature refactoring

Summary:
Maker retrieving next page of data with cursors easier
- Remove callables based parsing in AbstractCrudObject
- Implement (optional) Implicit fetching
- Fully bi-directionality

Test Plan: ./vendon/bin/phpunit -c test/ test/FacebookAdsTest/CursorTest.php
AdImage::createFromZip(), AdAccountGroup::getUsers() and AdAccountGroup::getAccounts() return array of objects

Summary: AdImage::createFromZip(), AdAccountGroup::getUsers() and AdAccountGroup::getAccounts() shold not return Cursors since this is not the API behaviour

Test Plan: run tests
Merge remote-tracking branch 'upstream/master'