add explicit assignment ops for certain classes

gcc 4.4 requires us to explicitly declare our own move constructors :(
this means we have to make explicit assignment operators also

Fixes #2