Support :hcat literals for @data

Conflicts:
	src/literals.jl
Implement broadcasting for DataArrays/PooledDataArrays
Fix some broadcast bugs and add tests
Optimize broadcast performance

- For Arrays/DataArrays that are the same size, use a faster code path.
  In this case, the DataArray overhead is ~25% instead of ~50%.
- When all input DataArrays are the same size and consist of bitstypes,
  don't branch on NA. In this case, the overhead is negligible.
tests and fixes for broadcast! into DataArray without DataArray input