prop: reactives are always treated as variables

This branch makes it so a prop is constant if and only if it's a constant (atomic value). Reactives are now always treated as variable props.

* Previously, a calculated column could have a different length than the data, and this would result in `Error in .subset2(.subset2(x, colname), i) : subscript out of bounds`. Now if a calculated column is automatically replicated to the length of the data; if it has a length that doesn't integer-multiply to the length of the data, it throws an error (see the new tests).

* The last two examples in interactive.r have changed; you can't have a reactive prop with `constant=FALSE` anymore. Previously, the strings returned by the input would pick out columns in the data. Now, a map function, `as.name`, converts the string to a symbol, which, when eval'ed with the data frame, picks out the column. We may want to consider adding something to make this a little easier to understand.

* For cases where a reactive prop uses `scale=TRUE`, the legend doesn't seem to be updated when the data changes. For example, see the third-from-last example in interactive.R, "Constant values, on a scale". The legend doesn't change when the data changes -- but it did prior to this commit.

Some cleanup of examples and documentation is still needed.