Fixed errors discovered by asserts and added Cura 2.4 support.
Fixed errors discovered by asserts and added Cura 2.4 support.

 - Previous commit made all the asserts work.  This highlighted some other
   errors.
 - Under Cura 2.4 with UltiGcode, M109 commands are not longer provided or
   at least guaranteed.  Changed code to no longer depend on them.
 - Removed requirement assertion for optional F values.
 - Script now works under both 2.3.1 (Linux) and 2.4 (Windows), both with
   UltiGcode.

justkrys/Mark2CuraPlugin