MAINT: Clean up unused data in test.
MAINT: Adding tests for Blotter handling of limit and stop orders.

Adds a test algorithm that tries to buy with very high limit prices/very low
stop prices and tries to sell with very low limit prices/very high stop prices.
BUG: Fix a bug causing us to discard very low limit prices.

Fixes an issue where very low limit prices were being rounded to 0.0 and
effectively resulting in market orders.  Adds an explicit check to test for
this behavior.
BUG: Fix __unicode__ method for Order class in blotter.py

Order's __unicode__ was previously calling unicode(self.__repr__) instead of
actually calling the repr method.
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.