ENH: Update ordering API to support new ExecutionStyle class in favor of
existing `limit_price` and `stop_price` parameters.  The goal of this change is
to refactor the existing ordering API to provide a cleaner interface for
defining more complex order types.

Adds a new module, zipline.finance.execution, which defines the ExecutionStyle
abstract base class, along with concrete MarketOrder, LimitOrder, StopOrder,
and StopLimitOrder subclasses.

Adds a new `style` keyword argument to the function signature of the `order`
API method, which accepts an instance of ExecutionStyle.

The existing limit_price and stop_price parameters are still supported at this
time, but are converted into the new ExecutionStyle objects before being passed
to Blotter.order.
ENH: Add style parameters to order API helper methods.

Add `style` parameter to order_value, order_percent, order_target,
order_target_percent, and order_target_value methods.  The style parameter is
forwarded to the underlying call to `order`.
MAINT: Add tests for UnsupportedOrderParameters.

Add a test case in test_algorithms to verify that appropriate exceptions are
thrown if an algorithm makes a call to the order api with a stop/limit price
and a style.
BUG: ValueError for 'bars' masked by UnboundLocalError

for 'freq'
ENH: Allow for stock dividends, and in particular, Google's

recent 2 for 1 stock split, where 1 class C share was distributed
for each share of class A held.

Now a dividend can specify a sid and ratio of stock that will be paid
to owners of the original security.  If the ratio is 2.0, then for every
existing share, two shares will be paid.
DOC: Replaced "i.e." with "e.g." where appropriate in module
ENH: Treat stop and limit prices differently when rounding.

Stop and limit prices both trigger when a price crosses some threshold, but
they trigger in "opposite directions".  For example, on a buy, a limit price is
triggered when a price falls below a specified value, whereas a stop price
triggers when the price exceeds a specified value.

Our current stop/limit price rounding logic is asymmetric, preferring to "round
to improve" the specified price.  This change makes it so that we interpret
"improvement" in opposite directions for stop vs limit prices.
BUG: security is no longer an int.
ENH: Add the ability to specify an exchange on an ExecutionStyle.

Adds the exchange property the interface for ExecutionStyle and adds an
exchange parameter to the interface of all the existing ExceutionStyles.
Subclasses wishing to support the ability to specify an exchange should set the
_exchange attribute in __init__.
WIP: Initial port of qprof run script.
ENH: Implement CLI.
ENH: Change buyapple example to work with CLI.
STY: Move import from local to global.
BUG: Default arguments have to be set before conf.
ENH: Output code with syntax highlighting.

Checks if pygments is installed and falls back to
no syntax highlighting.
ENH: Add support for _analyze.py files.
REF: Move setup function to separate file.
DOC: Remove copyrights of analyze scripts for readability.
ENH: Add version information to CLI.
REF: Move parsing logic into run.py.