Encoding, significant digits, MultiMoney, etc

Howdy,

As discussed before, my branch has diverged quite far from the others, but the further it diverges, the more I like py-moneyed.

This pull request includes some upgrades so that json, pickle, dict, copy, and pymongo automatically support Money and MultiMoney objects. The encoders in particular should be easily separable from the rest of the changes. If anyone would find them useful, I'd be happy to split out the relevant portions of code.