Fix fails() assertion which was silently swallowing exceptions.
singleOrNull methods should never throw exception #KT-5424 Fixed
Make LINE_SEPARATOR lazy property to not kick-in before system is setup.
Unify substringBefore/After and related functions, so that they always return receiver in case of missing delimiter by default.
Refactor and comment JvmCodegenUtil#couldUseDirectAccessToProperty()

Logic hasn't changed except the deleted isTopLevelDeclaration() call which
always returned false in this case because we checked that it's a class
property earlier
Use direct field access to trivial class properties

 #KT-3845 Fixed
Don't generate unnecessary accessors for private class properties