Modified save behavior and providers

This pull request makes pointshop save only when points and items are changed.
Provider functions has also been added to allow more advanced providers, such as a mysql provider which has each item on a separate row.
Points can also be edited at the source and not be overwritten and will increment or decrement as expected.