Variable price option support.

1) Add price_id for variable price options to purchase method.
2) Add quantity option.
3) Remove unnecessary double price sanitation.
4) Extends get_product_files() to accept variable price id. (for compat with 1)

Let me know if you have any questions about why I did any particular thing.  I'm sure there is room for further compatibility fixes here.