MAINT: Reordered EventManager kwargs & added docs

Reordered kwargs in EventManager so that the rule function is first.
This allows instantiation via EventManager(function), which is
syntactically simpler.

Updated the documentation to say that the rule_func can be a class with
__call__ defined.

Changed the criteria in BeforeClose, it was off by one minute.
  from:  dt >= close - delta_t
  to : dt > close - delta_t
TST: Added unittest for EntryRules to test_utils

Added a unittest for the entry rules. These should be separate from the
EventManager tests because they can be used independently as well.

I used a lot of numpy boolean array slicing and apparently flake8 hates
me for it.

e.g. array[array == False] should be 'if cond is False' or 'if not
cond.
I don’t think there is a fix other than rewriting the tests. Let me
know if this can be ignored or not.