JBIDE-17911 Make "full tree" vs. "funtions and macro defs." configurable

for Freemarker outline plus some refactoring to avoid usage of
deprecated Prefence APIs.
I would do 
``` java
		setRules(
			new IRule[] {
					new StringSubRule(LexicalConstants.QUOT_STRING, DOLLAR_LEFT_BRACE, 2, string),
					new InterpolationRule(LexicalConstants.DOLLAR, interpolation),
					new InterpolationRule(LexicalConstants.HASH, interpolation),
					new SingleLineRule(LexicalConstants.QUOT_STRING, LexicalConstants.QUOT_STRING, string, LexicalConstants.BACKSLASH),
					new SingleLineRule(LexicalConstants.APOS_STRING, LexicalConstants.APOS_STRING, string, LexicalConstants.BACKSLASH),
					new WhitespaceRule(new WhitespaceDetector())
				});
```
because number of rules is a constant, one object less to create