Duck type pandas DataFrame and Series in sim framework

Rather than using isinstance to check if an object is a
DataFrame or Series, support objects that act like them by
checking for presence/absence of attributes.
Ability to disable table copies in sim framework

By default, simulation framework always returns copies of evaluated
tables and their columns, instead of views. Add parameter and
attribute to disable copies where possible. This includes
computed columns but not pandas slices which are always copies.
Added test for copying when enabled and disabled.
Drop DataFrame and Series check in sim framework

Don't check for presence/absence of attributes, just assume that
the passed object is a DataFrame or Series if it's not a callable.

Thanks to @jiffyclub for the suggestion.
Python 3 support in simulation framework
Downgrade some dependency revision numbers

This allows use of system Python packages on Ubuntu 14.04 for all
dependencies, except toolz, which is not packaged. If we need the
higher versions, we can revert this commit.
Explicitly copy in sim framework, even if already copied

As discussed with @jiffyclub, this is more readable and only uses
well-documented pandas methods. The small performance cost
is probably acceptable for better maintainability.
Only avoid copying in sim framework `get_column`

As discussed with @jiffyclub, copying when calling `to_frame`
is usually desirable and prevents confusion, so always
copy when calling `to_frame`. Rename copy argument to copy_col
because it now only applies to `get_column` (and getitem/getattr).
Merge branch 'sim-spandex'

spandex sim support

Changes in simulation framework to support spandex:

    Support objects that act like pandas DataFrame and Series.
    Ability to disable table column copies where possible.
    Python 3 compatibility.

spandex is introducing a TableFrame object which acts like a read-only
DataFrame for simulation purposes but wraps a PostgreSQL table. It
currently supports querying entire column(s) as Series and caching those
queries. Not copying TableFrame columns where possible would save memory.

spandex supports both Python 2 and 3.

Other changes:

    Slight downgrade of dependency revision numbers for Ubuntu 14.04
    support.

* sim-spandex:
  Only avoid copying in sim framework `get_column`
  Explicitly copy in sim framework, even if already copied
  Downgrade some dependency revision numbers
  Python 3 support in simulation framework
  Drop DataFrame and Series check in sim framework
  Ability to disable table copies in sim framework
  Duck type pandas DataFrame and Series in sim framework