Node-resque and background auction closing

Installed node-resque and set up a background process that culls all the
auction open and enqueues jobs that will print out the auction on
auction close.
Added resque dir and files

Added the resque dir with all the files needed to support resque jobs
Modified cull auctions

Changed the resque cull auctions job to use setTimeout instead of
queueing each auction with redis.

Also added an extra setDaysTimeout method to handle the fact that
setTimeout doesn't work pass 24 days.
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.
Auction closing: the end, heckler, email templates, dates

Finished all the work required to complete the auction closing
notification feedback loop. This includes the email templates for both
winners and bidders. The winner's email templates include the BasicPay
invoice generated by calling the POST /invoices on BasicPay. The
Bidder's template gives the date and time for the next available
auction in UTC.

Heckler was integrated into the auction closing feedback loop to send
out the emails to all the winners and the bidders. The configurations
for heckler are set in the .env file.

Implemented date formatting for both Javascript users and non-Javascript
users. Each template that loads a date, outputs the date as a UTC
String. So users with noscript will see this date. Users that have JS
turned on will also activate a script that turns that UTC date string
into a local time string.