add costToCompleteRange param in request, filtering found responses by cost to complete initially

#### What's this PR do?
Adds a `costToCompleteRange` parameter to the DonorsChoose API request string. Now, we can ensure that all the results returned have a `costToCompleteRange` greater than the donation amount, so that the proposals returned can validly be donated to. 

In order to specify a minimum costToComplete, we also need to specify a maximum costToComplete. The maximum costToComplete has been set at an arbitrary $10,000, though we can move this amount down if we would want to, say, complete the full funding of as many projects as possible. 

We've also added logic to a `max` param in the request string--we're only retrieving one request now, since we're certain it's going to have a costToComplete greater than the DONATION_AMOUNT. We've also deleted the logic which loops through the proposals to find a project with a costToComplete greater than the DONATION_AMOUNT. 

[costToCompleteRange documentation available here.](http://data.donorschoose.org/docs/project-listing/json-requests/)

#### How should this be manually tested?
Postman donations flow. 

#### What are the relevant tickets?
Closes #262.