generalise (.=.) a little

This renames the function (.=.) in the CodeGenMonad class to `assign`. The (.=.) function is now separate, but generalised to accept on the RHS both single operands and lists of operands. We could add other instances as they make sense as well.
Merge pull request #1 from tmcdonell/master

generalise (.=.) a little