Added buy_membership.
Added membership code. I haven't been able to test it. Also, I removed programs from memberships because it makes the models mutually recursive (only a temporary fix).