ENH: Replaces the simple transforms with history calls. Switches
transforms to quantopian syntax.

Adds the sid attribute to the siddata so it is aware of which security
it represents.
MAINT: Makes the date_gen skip non-market times.
MAINT: Updates the add_trading_days to use the index of the date for a
more efficient means of jumping larger gaps of dates.

Adds a docstring to explain the usage of the function.
DOC: Updates the comments around the caching in siddata
BUG: Fixes a bug in the test date_gen for non-daily timedeltas
DOC: Adds the new transform work to the release notes.
BUG: Off by one error in runtime construction of digest panel

When a history minute digest panel was constructed at runtime, there
would be 1 minute missing between the current minute at iloc[-1] and the
next prior minute at iloc[-2].
BUG: Ensure that the bar count is an integer in minutely mode simple
transforms

total_seconds can return a float, which when divided by `60` would
still yield a float causing a value error when passed to range.
MAINT: Make RandomWalkSource accept the standard daily instead of day for the frequency
DOC: Fix tutorial import. Closes #430.
BUG: Fix price caching for tickers with '/' char

On Ubuntu (assume this is true for all posix) tickers containing a slash char ("CRD/A", "BRK/A", both valid tickers with yahoo api accessible timeseries) lead to a path error in loader.py line 286.
ENH: Makes the offset of `market_close` relative to 20:00 UTC

Changed from relative to 20:01 UTC.
MAINT: Makes RandomWalkSource emit midnight UTC events in daily mode.
BUG: Explicitly guard against empty bar data in history container
contstruction.

BarData can be falsey. in create_buffer_panel, the intention of the
check against bar_data was to see if it was passed at all, not if it was
truthey. In order to make that check more explicit, the check now
asserts that bar_data is not None.
MAINT: Refactored RandomWalkSource

This makes the drift and standard deviation used in RandomWalkSource
keyword args to give the user more control over the price series that
are emitted.

The standard deviation of prices is very different at different frequencies,
users should have the ability to specify the standard deviation used.

The drift term should also be configurable to give the user more control.
Remove bottleneck caused by unnecessary check of the position index.

Instead of checking the positions indexes every time either
`_position_amounts` or `_position_last_sale_prices` is updated, check
and grow the individual Series on each update.

This gain with this patch is by reducing the following bottlenecks:
- Checking both vectors when only one is updated.
- Using try/except to trigger the growth, instead of incurring the cost
of checking the Index contains on every update.

In testing this change results in about a 33% speedup of the
`update_last_sale` algorithm when run with a buy and hold algorithm with
160 equities, resulting in a 20% speedup overall.
Modified get_environment to provide multiple fields.
added tests to confirm the full environment returns as expected.
BUG: Use astimezone instead of tz_convert.

Makes get_datetime agnostic as to whether its input is a datetime or a
Timestamp.  (astimezone is an alias to tz_convert when the input is a
Timestamp).
DEV: Explicitly convert string to timezones in get_datetime.