Implement asynchrous filter
Implement asynchrous filter

Implement asynchrous `filter` function, which accepts 3 arguments:
- predicate::a -> Boolean -- a function which determines, whether item
  should be included in resulting set
- array::[a] -- an iterable of data
- done::[a] -> Void -- callback to be executed when filter finishes. It
  This callback accepts one argument -- the filtered array

This commit resolves #2

IvanProdaiko94/MetaSync,DzyubSpirit/MetaSync,DzyubSpirit/MetaSync,metarhia/MetaSync