Make valueChanged stream set value to null on task failure

Previously we were probably trying to use an exception value
as the value on task failure or something.

Adjust discoveredMainClasses handler a little to handle null
values.
Track sbt-echo inspect support tasks

inspectSupported and whyInspectIsNotSupported observables
are probably the most interesting ones.
Merge remote-tracking branch 'origin/wip/sbt-server' into wip/havocp-echo-supported

Conflicts:
	ui/app/assets/services/sbt/tasks.js
Always create the version-N.properties file

Previously, if the launcher version matched
the activator version, we didn't write it out,
which meant we checked for an update every time.
With this change we cache the check for a few hours.
Merge pull request #761 from typesafehub/wip/havocp-echo-supported

Track inspect support tasks
Merge pull request #773 from typesafehub/wip/havocp-always-save-version

Always create the version-N.properties file
Add new icons for tasks
Being able to display logs per tasks
Move non-direct tasks related events to sbt/events
On new log, append to rather than recreate tasks.logs

This avoids n-squared complexity.
code style fixes
code style fixes
highlight current document in code
Remove notifications, and use a "banner" style instead
Remove useless console.log
remove useless console.log