fixes an issue with user-defined message types

this patch fixes a compile time error with some user-defined
message types; a minimal example to reproduce the error in 0.8.1 is:

typedef optional_variant<
        std::tuple<int, float>
      , std::tuple<float, int, int>
      > msg_type;

    //                                    here!
    sync_send(self, atom("msg")).then([](msg_type) {});
changed version to 0.8.2
Merged changes from 0.8.2