Fixed instances where we build prototype_classes not using a provided Api object

Summary:
Basically changed code where we do:

    $obj = new $prototype_class();

to

    $obj = new $prototype_class(null, null, $this->getApi());

This allows developers who have multiple Api instances to properly specify the
correct Api object and still call things like account->getAdCampaigns and for
those campaigns to have the correct Api object.

Test Plan:
- Bootstrap without using Api::init() and not using Api::setInstance()
- Create account object and provide Api Object
- call getAdCampaigns()