BasicPay, Request, and Auction closing: the beginnings

Added BasicPay and Request dependencies.

Created a BasicPay Receipt object in the DB with a create, retrieve,
and update methods for the DB layer.

On the auction close setTimeout function, winners and bidders are
calculated. For winners, invoices are generated through BasicPay using a
POST call with request. In the callback, the invoiceId, auctionId and
username are saved as a BasicPay Receipt object to the DB. The id for
this object is also used as the webhook token to get confirmation that
the invoice was paid. Currently the webhook has not been implemented
yet. Nothing has been done yet for the bidders.

Note: The BasicPay Receipt is created in the DB before the POST to
BasicPay. This was done so that the id of the BasicPay Receipt object
could be sent with the invoice in the POST call as the token for the
webhook. In the callback to the POST call, the invoiceId is updated on
the BasicPay Receipt object in the DB.

The goal is to have the webhook called with the token (BasicPay Receipt
id) to verify that the call is coming from BasicPay. The webhook url
will include the auctionId in the url as a secondary sanity check. This
also allows for easy retrieval of the BasicPay Receipt upon the POST to
the webhook since it should be in the body of the webhook POST call.