Refactor project/module<->haxelib library synchronization.  Externally specified
libraries become known to the application and thus become usable for completion
and refactoring tasks.

Carved HaxelibClasspathUtils into three parts, leaving some intact, and adding
HaxelibSdkUtils to deal with SDK issues, and HaxelibCommandUtils which deals
with running the haxelib command and parsing its output.

Added a new HaxeClasspath construct, along with HaxelibClasspathEntries and
a couple of derived classes, so that we can encapsulate and deal with
class paths and a unit.  It's also implemented using a more efficieent
data structure than we get with List<String>.

Renamed HaxelibSdkManager and HaxelibLibraryManager to more aptly describe
their function as caches.

Put most of the plumbing in place to run synchronization on a background thread.
It doesn't quite work yet: there's more work to do to create ReadActions around
sections that access the project/sdk/module data.  (Use doReadAction for that.)
Run haxelib->project/module sync in the background. (Foreground also works.)
Merge branch 'RefactorHaxelib' into IntegrateRefactorHaxelib
Add a few extra comments along the way.

Conflicts:
	src/com/intellij/plugins/haxe/haxelib/HaxelibClasspathUtils.java
	src/com/intellij/plugins/haxe/haxelib/HaxelibProjectUpdater.java
	src/com/intellij/plugins/haxe/util/HaxeHelpCache.java
Update release notes and rebuild jar.