digital: Python functions to support soft decision making and look-up table generation.
digital: Added a new constellation_soft_decoder block that produces soft decisions as floats instead of hard decisions.

Added documentation for how to use the new soft decision tools.
digital: added a constellation modulator that uses a constellation object to modulate samples.

The constellation object knows the constellation and symbol mappings for any constellation, not just PSK or QAM.