Add support for ondemand imports (import a.b.c.*)

This also enables many more things to be resolved.
Add support for converting a node to a string for debugging purposes.

Only some nodes (expressions) can be converted for now.
Add a helper method to get the topmost expression in a tree
Add string components for Float Literals
Fix an issue where decimal java numbers are treated as hexadecimal
Remove some redundant computations when resolving references and types
Fix the name look up for import all when the import is recursive
Fix some usage of unassigned fields reported by Valgrind
Make empty lists have a minimum size.

This should be configurable via styles, not just hardcoded as it is.