added ConcurrentSet and use it in TaskTracker

This PR adds a `ConcurrentSet` implementation based on `scala.collection.concurrent.TrieMap` and uses it as task storage in `TaskTracker`.
Right, that's an artifact from some testing, will change that. Thanks!



> On 26.08.2014, at 04:08, Connor Doyle <notifications@github.com> wrote:
> 
> In src/main/scala/mesosphere/util/ConcurrentSet.scala:
> 
> > +    extends mutable.Set[A]
> > +    with GenericSetTemplate[A, ConcurrentSet]
> > +    with mutable.SetLike[A, ConcurrentSet[A]]
> > +    with mutable.FlatHashTable[A]
> > +    with Serializable {
> > +  import ConcurrentSet._
> > +
> > +  private[this] val underlying = TrieMap[A, AnyRef](elems.map(_ -> Dummy): _*)
> > +
> > +  override def +=(elem: A) = {
> > +    underlying.putIfAbsent(elem, Dummy)
> > +    this
> > +  }
> > +
> > +  override def -=(elem: A) = {
> > +    underlying.remove(elem, Dummy)
> Why not underlying.remove(elem) here?
> 
> —
> Reply to this email directly or view it on GitHub.