Added coupon buying page

Points are correctly spent when coupons are clicked on. Point updates
are reflected correctly on both pages. Also added the generation of
persistent, unique user identifiers, for use in identifying users on the
server.