Add *Range.isEmpty(), *Progression.isEmpty()
Fix equals and hashCode for empty ranges and progressions

Empty range is equal to any other empty range
Use f/L literal suffixes instead of toFloat()/toLong()