[IZPACK-1127]

This is to address https://jira.codehaus.org/browse/IZPACK-1127

1. TreePacksConsole should only accept input when the Enter key is pressed, not when an individual character is entered. This is resolved by properly using the "Console" class.
2. Required packs should always be gray in the GUI. Added a REQUIRED_PARTIAL_SELECTED state of checkboxes. Useful when you have a required parent pack, with some children that are not required.
3. Added condition attribute for onSelect and onDeselect tags for packs. When this condition is false onSelect and onDeselect actions do no execute. If the condition is true or undefined, then onSelect and onDeselect will execute its actions as normal.