~~ added deepCopy() method to JS AST
~~ removed unused field
~~ renamed SideEffects -> sideEffectUtils
~~ moved sideEffectUtils to util package
~~ removed redundant null checks
~~ moved needToAlias to sideEffectUtils
~~ negated logic in side effect detection
~~ moved methods to FunctionInlineMutator
~~ renamed getRenamingContext to newRenamingContext
~~ tested statements after return
~~ remove statements after top level return
~~ renamed RenamingContext to NamingContext
~~ removed trailing spaces
~~ merged all collect functions into collectUtils
~~ added import
~~ simplified collectFunctionReferencesInside
~~ renamed DefaultParameters.kt to removeDefaultInitializers.kt
~~ renamed instance -> declaration
~~ renamed localFunctions.kt -> removeUnusedFunctionDefinitions.kt
~~ added doc comments