rbind.fill performance and consistency improvements

This is a substantial refactoring of `rbind.fill` that improves performance for and consistency.

* Avoid inducing array copies for primitive/list types, ensuring linear performance (fixes #148).
* Special handling for `factor` and `POSIXct` types to avoid copying and ensure linear performance in those cases as well.
* Dims are handled independently of type and other attributes; factor-arrays, char-arrays and list-arrays are supported.
* Arrays of any dimension are supported.
* Colnames of matrix columns are preserved (like `rbind`.)
* Factor columns `rbind`ed to other data types are coerced to character.
* Consequently `match_df` and `join` handle combinations of character and factor on the index column (fixes #128).

Supporting performance measurements here: https://googledrive.com/host/0B2aFu6AeaKsNNWw5WTloaF9iVzg/