New Features and Improvements
* Added new data provider, which uses the Bloomberg Enterprise Access Point (BEAP) HAPI
* Created `AbstractStrategy` and unified the `AlphaModelStrategy` execution
* Added `time_in_force` parameter to `size_signals` function in the `PositionSizer` class
* Added `time_in_force` parameter to `AlphaModelStrategy.__init__` function
* Created `OnBeforeMarketOpenSignalGeneration` wrapper, to facilitate the subscription process of a given Strategy to the `BeforeMarketOpenEvent`
* `AlphaModels` accept now `DataProviders` , `current_time` and `frequency` parameters were added to the `get_signal` function
Bug fixes
* Fixed the commissions computation in case if the volume of the fill (transaction) differed from corresponding orders volume
Backwards-incompatible changes
* Removed the `on_before_market_open` function from `AlphaModelStrategy` and removed the default subscription event (from now on, in order to preserve the previous behaviour, the `OnBeforeMarketOpenSignalGeneration` wrapper should be used along with the strategy)
* Removed `get_current_bar` and `get_current_prices` from `DataHandler`
* Changed the behaviour of `get_price` in `DataHandler` in case if the Open price is already available
* Moved `get_last_available_price` and `historical_price` to `DataProvider`
* `Signal.last_available_price` is not optional anymore, a required `Signal.creation_time` parameter was added