Support free plans.

Fixes #24

Plans without pricings will be `plan.is_free(): true`. Switching to these
plans causes the userplan have it's expiry field set to `None`

Since there's no `userplan.expiry`, the standard plan change process doesn't
make sense, so the plan table is adjusted to present the standard plan
order links rather than plan change links.

Note: I have not implemented the presentation layer/tagging suggestion 
from #24, but I think the handling of the free plan in the plan table may be 
sufficient for now (for our purposes it is).