Add Lander base class, clean up lander code overall. Also fixes #507
Merge remote-tracking branch 'origin/master'