Fix: `#if`d-out overloaded forms when using Swift 4.2 compiler
Fix: `#if`d-out overloaded forms when using Swift 4.2 compiler

The Swift 4.2 compiler doesn't like it when we overload the same function with args that differ only by optional-type (regardless whether we're compiling in Swift 3 mode, Swift 4 mode, or Swift 4.2 mode).

* Fixed by wrapping the implicit optional forms of overloads in the `#else` of an `#if (swift(>=3.4) && !swift(>=4.0)) || (swift(>=4.1.50) && !swift(>=4.2)) || swift(>=4.2)`.  
	▸ Under the Swift 4.2 compiler, Swift 3 mode reports itself as version 3.4, and Swift 4 mode reports itself as version 4.1.50.  This statement checks if we're on Swift ≥ 3.4 (but not ≥ 4), or ≥ 4.1.50 (but not ≥ 4.2), or just ≥ 4.2, and if so excludes the overloads.
capnslipp/NilCoalescingAssignmentOperators,capnslipp/NilCoalescingAssignmentOperators