Rebased to latest Marlin branch Marlin_v1

Rebased all changes to Marlin_v1 master.