Region in random ad route and bug fixes

Fixes:
Fixed a bug in auction close that added more lineitems to each region
user than they originally had. It was a object reference issue. Also
cleaned up the regions objects so there's less duplicated data in the
DB.

Changed the region object in configs to use an exclusive boolean instead
of inclusive. This makes the list by default an inclusive list.

Updated the design doc for couchapp so that the system can retrieve a
list of AdsInRotation objects that have already started.

Updated the db.js file to use the new ddoc view to grab the
AdsInRotation object that have already started and sorted them by latest
end time. It then gives back only the latest ending object.

Re-wrote the ads.js file that contains the code for randomized ad
retrieval. It now takes into consideration regions in the AdsInRotation
object. The general idea is that the country code for the given ip and
the number of ads the caller wants is found. Then for each region in the
AdsInRotation object, all the winners are pulled, and a random set of
ads are found for each user until the number of slots they've won is
reached. This should equal to all the ads for each region. Then all the
ads from each region is put into one list and a random set of ads are
selected until the number of ads the caller wanted is reached. The ads
are cleaned and then sent to back to the caller.