Model.fetchAll returns existing promise if there is one outstanding.

Fixes issue #386
Merge pull request #387 from jnovatnack/reuse-fetch-all-promise

Model.fetchAll returns existing promise if there is one outstanding.