There was a problem in getMaxSpeed that caused it to return 0. Also, I made a lot of changes to remote request today.
I tried your test on the latest version, and it worked. You need to pull the latest versions of ev3classes and EV3Menu again, build them, and restart the EV3.
You do not need the call to ev3.setDefault() unless you use any of the static methods in LCD, Button, Sound, Motor etc.
You do not need the call to waitComplete as the version of rotate you are using does not return until the rotation is complete.
There are still probably a few things that don't work with remote request, such as motor listeners and the LCD methods that use fonts.