avoiding possible NPEs

- getTagName() shouldn't return null according to documentation but has been observed to do so
- getTextContent() is documented as returning null under certain circumstances and has been observed to do so
Synchronoize do_preference_phase() and other functions called from there with csoar

* it is not illegal to have no goal sometimes -- replaced assert check and try/catch with if block like csoar
* top_goal param is not needed by create_instantiation
Merge branch 'master' into maven
Merge remote-tracking branch 'origin/maven' into maven
Removed commons-logging from jsoar-core junit launcher
Added logback configuration file to folder in jsoar-build, added this folder to all launcher classpaths.

This change enables logback configuration of launchers which bind logback to slf4j.
Added legacy bindings for commons-logging because apache beanutils references it directly.
Merge branch 'master' into maven

Most changes here have a radically different solution than what is used on master because of the maven system.

Conflicts:
	jsoar-build/tools/launches/jsoar - JSoarDebugger (with extra dbs).launch
	jsoar-build/tools/launches/jsoar - JSoarDebugger no args.launch
	jsoar-build/tools/launches/jsoar - JSoarDebugger on selection.launch
	jsoar-build/tools/launches/jsoar - SoarUnit on selection (with Tcl).launch
	jsoar-build/tools/launches/jsoar - SoarUnit on selection.launch
	jsoar-build/tools/launches/jsoar - soar2soar.launch
	jsoar-build/tools/launches/sml - SoarUnit on selection.launch
	jsoar-core/.classpath
	jsoar-core/tools/launches/PerformanceTimer on selection.launch
	jsoar-core/tools/launches/jsoar-core - All unit tests.launch
	jsoar-legilimens/tools/launches/jsoar-legilimens - All unit tests.launch
	jsoar-sml/tools/launches/jsoar-sml - All unit tests.launch
	jsoar-tcl/tools/launches/jsoar-tcl - All unit tests.launch
Removed unused ant build cruft
Added top-level project ignores