Calls func with the indicated args on the micropython board, and
           converts the response back into python by using eval.

def remote_eval_last(self, func, *args, **kwargs):
        """Calls func with the indicated args on the micropython board, and
           converts the response back into python by using eval.
        """
        result = self.remote(func, *args, **kwargs).split(b'\r\n')
        messages = result[0:-2]
        messages = b'\n'.join(messages).decode('utf-8')
        return (eval(result[-2]), messages)