In some circumstances, using unbounded channels versus zero-bounded
channels can increase performance of a graph substantially. The user
can now control when creating a graph whether or not the channels are
unbounded or bounded with a given size.
Added LTO and opt-level=3 to the library to further optimize the
library.
Added an example for a single-threaded example for BPSK modulation to
contrast with the multi-threaded option.
For now, the macro for connecting nodes have been changed to use
unbounded channels.
Added an error handling case for when a channel closes and the
receiver tries to read from the closed channel.