Fix #95
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.
Merge branch 'master' into sjk/broadcast
tests and fixes for broadcast! into DataArray without DataArray input