Fix silence turning integers with leading zero into doubles

 #KT-4296 Fixed
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.
Remove Map.groupBy
Map.toList() returns List of Pairs instead of List of Entries.
Map.filter() returns Map instead of List of Entries
Breaking change. Map operations revisited.
Recover test for mutable List variable and move it to ListSpecificTests
collection.toMap(selector)
Map.Entry.toPair
Remove map iteration from ListSpecificTest - JS fails, but it is irrelevant to test.
Use LinkedHashMap everywhere to preserve order.
Add StdLibMapTest, fix naming to convention StdLib* tests.
Split tests into platform-independent and JVM.
Minor: assert -> assertTrue
Moved MutableMap.set from Maps.kt to MapsJVM.kt to avoid ambiguity when compile MapTest.kt by JS backend.
JS stdlib: allowed use null as key and value in Map implementations. Added tests for using null in Set and Map implementations.
Fix assertion arguments.