==>> Align instance

https://github.com/isomorphism/these/blob/a57171925/Data/Align.hs#L123-L127
==>> align test
Align instance for scala.Map
scala.Map align test
Saner thread naming in DefaultExecutorService

The previous Strategy.DefaultExecutorService asked for a new thread
factory for each new thread created. The result was threads with names
like (on a 4-cpu machine)
pool-6-thread-1
pool-7-thread-1
pool-8-thread-1
pool-9-thread-1
This change saves one defaultThreadFactory and reuses it for thread
creation, so that the threads come out named
pool-6-thread-1
pool-6-thread-2
pool-6-thread-3
pool-6-thread-4
This makes debugging easier, because one can see which threads are
grouped into the same pool.
implemented Task.runAsyncInterruptibly
Merge pull request #627 from xuwei-k/map-align

Map Align instance
Merge pull request #631 from jessitron/executorServiceThreadNaming

Strategy.DefaultExecutorService creates threads as if they're each in a different pool
Zip[({type λ[α] = S ==>> α})#λ]
Merge pull request #632 from Spinoco/task/interrupted

implemented Task.runAsyncInterruptibly