Bug 215 - new backend bits

This is almost 1000 lines of new code... sorry about that.  I don't expect this to be reviewed quickly!

These are the completely new files in this request:
* cgi-bin/DW/Shop/Item/VirtualGift.pm
* cgi-bin/DW/VirtualGiftTransaction.pm
* cgi-bin/LJ/Event/VgiftDelivered.pm
* t/vgift-trans.t

Tested against last year's code, etc. etc.  Still working on the matching frontend bits.