ENH: Add symbol api function and overload decorator

A symbol() lookup feature was added to Quantopian.
By adding the same API function to zipline we can
make copy&pasting of a zipline algo to Quantopian
easier.

This also provides support for overwriting the
default identity-based symbol() call. This would
allow a user to e.g. write a symbol-lookup function
for the Bloomberg database.