RFC: Future[T] leak or unattended Future[T] tracking.
Implement scheme which will track create/(complete or fail) of `Future[T]` objects.

In such way developer can find never completed `Future[T]` objects which can lead to memory leaks.

All `Future[T]` objects are identified by string `fromProc` and unique `id`. `fromProc` is passed as argument in `newFuture[T]()`. Unique `id` is maintained inside of `newFuture[T]()` procedure.

### Simple way (release mode).

Maintain 3 counters:
 - Number of created `Future[T]` objects, note that all `Future[T]` objects must be created with newFuture(xxx)() procedures.
 - Number of completed `Future[T]` objects. (`Future[T]` is got completed on `complete()` call).
 - Number of failed `Future[T]` objects. (`Future[T]` is got failed on `fail()` call).

If there no leaking Futures number of created Futures must be equal to the sum of number of completed Futures and number of failed Futures.

### Detailed way (debug mode).

Maintable table which will hold all the created `Future[T]` objects and information about it. This can be `Table[FutureFromProc, Table[FutureID, FutureInfo]]`.

`FutureFromProc` is a string which is representing `fromProc` argument of `newFuture[T]() procedure call.
`FutureID` is integer which representing `Future[T]` unique identifier.
`FutureInfo` is object which holds:
1) `Future[T]` moment of creation (or epoch time).
2) File and line number of creation.

Table elements will be added when the `Future[T]` is created and deleted when the
`Future[T]` got completed or failed.

Provide procedure which will dump all the information from table in convenient way.
