Injectable expressions using default values for kwargs

Decorated injectable functions can specify default values for
arguments which are interpreted as injectable expressions.
Currently expressions representing the names of injectables and
table columns are supported.

This adds flexibility. For example, a function can use a different
data source by only changing the default function arguments.
Functions can also be injected individual table columns.
Injectable names are no longer restricted to valid variable names.
Refer to injected things as registered variables

Update docstrings and rename _collect_injectables to
_collect_variables.
Fix _tables_used in sim to include tables of columns

Currently duplicates expression parsing by _collect_variables.
We can modularize parsing later when expressions are more complex.
Fix _tables_used in sim to convert tuple to list
Add more tests for simulation framework
Add test to simulation framework for variable name with space
Add test to sim framework for adding column expressions to table
Update docs for registered variable expressions
Add python markup to simulation docs
Update SeriesWrapper docstring in simulation framework
Name of decorated sim functions default to function name

Use the function name for tables, table sources, columns, and
injectables in decorated functions if no name is provided.