BUG: Use env_trading_calender for open and closes data

TradingEnvironment class uses env_trading_calendar for trading days,
but the default trading calendar for open_and_close data, which causes
errors later, because of misalignment of trading days.

The issue can be resolved by using env_trading_calendar for
open_and_closes as well
DOC: Update release notes.
ENH: Add trading controls to zipline API.

Adds four new methods to the Zipline API that can be used as circuit-breakers
to interrupt the execution of an algorithm.  The API methods are:

`set_max_position_size`
`set_max_order_size`
`set_max_order_count`
`set_long_only`

Internally, these methods are implemented by each registering a TradingControl
callback object with the TradingAlgorithm.  During
TradingAlgorithm.__validate_order_params (and thus before any side-effects of
the order call occur), each callback's `validate` method is called with
information about the order to be placed and the algorithm's current state,
raising an exception if the callback detects that an error condition has been breached.
DOC: Update release notes for trading controls.
MAINT: deleted duplicate attribute in Portfolio

Deleted duplicate of Portfolio.portfolio_value in zipline.protocol. It
was defined on line 75 and line 82.
ENH: Add a classmethod to TradingAlgorithm to get all API methods.
DOC: Update release notes for `all_api_methods` helper.
BLD: Move statsmodels from dev requirements into main requirements.

Pandas website states statsmodels is needed for parts of pandas.stats.
Also, update statsmodels to 0.5.0.

Upgrade of version is to both keep up to date, and to improve
performance on lazy imports, as fixed by
https://github.com/statsmodels/statsmodels/issues/573
DOC: More generic PostInit error messages.

Make the error messages for {DoBadThing}PostInit no longer reference "the
simulation", since the algorithm may not actually be running as a simulation.
BLD: statsmodels requires patsy

Since statsmodels requires patsy, and statsmodels is now in
requirements.txt instead of requirements_dev.txt, patsy also needs to
be in requirements.txt instead of requirements_dev.txt.
BLD: List patsy before statsmodels in requirements.txt
BLD: Upgrade numpy from 1.8.0 -> 1.8.1

Keep numpy package up to date.
1.8.1 is a bug fix release, so should be no breaking changes.
PERF/BUG: Make the portfolio property call `updated_portfolio`.

Make the portfolio property on TradingAlgorithm call `updated_portfolio`
internally.  This prevents needless recomputation of the portfolio between
calls to `handle_data`, and also prevents issues where the portfolio object
could be unexpectedly modified in place in the body of a `handle_data` call.

Noteworthy finding in the course of investigating this bug:

If you modify a Python dictionary while iterating over it, the language will
only throw an exception if the size of the dictionary changes between loop
iterations; this means that you can do:
```
x = {1:1, 2:2, 3:3}
for k in x:
    old_val = x[k]
    del x[k]
    x[f(k)] = old_val
    print k
```
and you'll only get an error if f(k) is already a key in the dictionary.
This can lead to bizarre/nondeterministic behavior in the key iterator.
STY: Remove trailing empty line from requirements file.
BLD: Upgrade requests dependency to 2.3.0

Upgrade requests from 2.2.0 to 2.3.0

To keep up-to-date, Changelog does not appear to have any changes
that would affect our usage one way or the other.
BLD: Upgrade six library to 1.6.1

From 1.5.2 -> 1.6.1

Keep package up to date.
BLD: Upgrade Cython dependency.

Upgrade Cython from 0.20 -> 0.20.1 to keep package up to date.
BLD: Upgrade Logbook to 0.7.0

Keep library up to date.
BLD: Upgrade pytz to 2014.3

Keep library up to date.
BLD: Order scipy install before statsmodels.

statsmodels requires scipy to build, so list the scipy install
before statsmodels so that ordered_pip.sh will install it beforehand.