Reduce memory footprint of actors, change strategies to be more efficient & safe for actors and async calculations

Proposed changes and additions:
1. Reduce 40 bytes per actor instance by replacing `val` by `def` in `toEffect` definition.
2. Improve an executor strategies that baked by FJ pools to be more efficient in submitting tasks for execution.
3. Add `def apply(a: => Unit): Unit` to strategies to be yet more efficient with actors (or other message-passing systems).
4. Improvements of default error handiling in actors: fix `InterruptedException` to be rethown properly, add sending of uncatched errors to `UncaughtExceptionHandler` of thread that by default prints stack trace. 
5. Add creation on demand for default strategy, thread factory and executor services to minimize usage of resources.
6. Use default thread factory that creates deamon threads for the naive strategy.
7. Add `DefaultLIFOForkJoinPool` and `DefaultFIFOForkJoinPool` as more suitable thread pool (for async calculations & actors accordingy) than `DefaultExecutorService` backed by `ThreadPoolExecutor`.
8. Add `Executor(execService: ExecutorService, batchSize: Long): Strategy` to allow fine tuning of trade off between fairness and throughput of actors.
9. Reduce default batch size of actors from 1024 to 10 that allows to improve fairness of predefined strategies.
10. Fix the sequential strategy to run actors without stack overflow.
11. Improve the naive strategy to minimize forking of new threads in message handing loop of actors.
12. Improve tests for actors and strategies. 
This compromise option will increase size of a minimal actor from 64 to 72 bytes (for 64-bit Hotspot with compressed references).
If no objections I would like to keep it fit caсhe line which is 64 bytes on most CPUs.

There is another opportunity to decrease size of actor down to 48 bytes (or 56 bytes with your option merged), but I think it should be discussed widely because it restricts possible implementations, while adds ability to provide different actor implementations (e. g. with bounded queues): https://github.com/plokhotnyuk/actors/blob/357f8c6deff1b374dec129f1b666f0a5c6daba2a/src/test/scala/scalaz/concurrent/Actor2.scala