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.
BLD: Order build of pandas before statsmodels.

pandas is required for statsmodels, so order installs so
that pandas is available for at build time for statsmodels
BLD: Make TA-Lib install compatible with pip >= 1.5

Since TA-Lib's releases are hosted on Github instead of PyPI,
add the `allow-external` and `allow-unverified` flags for just
TA-Lib.

This change means that versions of pip < 1.5 can not be used,
since the flags do not exist in those versions.
ENH: Filter out empty lists from `get_open_orders`.

Filter out empty lists from `get_open_orders` so that we have consistent
behavior between the case where a user has never placed an order and the case
where the user has placed an order but it has been executed or cancelled.

A nice side-effect, which was the impetus for this change, is that you can
check if you have any open orders by doing:

```
len(get_open_orders()) == 0
```

Also adds a test for the behavior of `get_open_orders`, which was previously
lacking.
BLD: Update pyparsing to 2.0.2

2.0.1 -> 2.0.2

pyparsing is a dependency of matplotlib and should not affect
Zipline simulations.
BLD: Remove deprecated pip --use-mirrors flag.

With release 1.5 pip deprecated the --use-mirrors flag,
since that release the flag is a noop and raises a deprecation warning.
BLD: Update nose to latest version.

nose 1.3.0 -> 1.3.3
BLD/STY: Upgrade to latest versions of lint checkers.

Upgrade pep8 1.4.6 -> 1.5.7
Upgrade pyflakes 0.7.3 -> 0.8.1

Also, tweak some line indentations which now show up as errors,
because of the fixes/changes to visual indent detection between
pep8 versions.
BLD: Keep Travis lint and test packages in sync with requirements file.

Instead of hard-coding the package versions in the Travis config,
grep the version number out of the requirements_dev.txt file,
so that the versions do not drift.
BLD: Update Markdown library.

Should be orthogonal to any trading simulation, Markdown is
merely used for packaging and converting the README.
BLD: Update xlrd package to latest.

xrld is used for reading the risk answer key.
Update 0.9.2 -> 0.9.3
BLD: Update tornado to latest.

Upgrade from 3.2 -> 3.2.1
Used for matplotlib, which is imported during tests to make
sure that examples are working.
DOC: Documentation fixups in `history_container.py.`
ENH: Enhancements to `TradingEnvironment`.

Adds a suite of new functions for querying data from the trading calendar.

These include:
      `previous_trading_day`
      `minutes_for_days_in_range` (minutely version of `days_in_range`)
      `previous_open_and_close` (inverse of `next_open_and_close`)
      `next_market_minute`
      `previous_market_minute`
      `open_close_window` (get a range of opens/closes with slicing semantics)
      `market_minute_window` (get a range of minutes with slicing semantics)

Also refactors `test_finance` to move `TradingEnvironment` tests into their own
TestCase.
ENH: Prep work for supporting '1m' history.

Overhauls `HistoryContainer` in prep for support of more than one frequency.

Major changes:

   - Methods/variables referring to "day" have been renamed/generalized.
     - `current_day_panel` became `buffer_panel`, which is now a `RollingPanel`
     - `prior_day_panel` became a dictionary mapping `Frequency` objects to
       "digest panels", which are instances of `RollingPanel`.

   - Hard-coded daily rollover replaced with a notion of a "current window" for
     each unique frequency managed by the panel.

     - When the end of the current window is reached for a given frequency, we
       compute an aggregate bar (code refers to this as a "digest"), which is
       appended to a panel associated with that frequency.

     - Window rollover dates are managed by a pair of dictionaries,
       `cur_window_starts` and `cur_window_closes`.  The `Frequency` class is
       responsible for computing window bounds based on the open/close of the
       previous window.

   - Semantic change to the `open_price` field: `open_price` now always
     contains the price of the first trade occurring in the given window.
     Previously it contained the price of the first minute in the window,
     returning NaN it the security happened not to trade in the first minute.