Ensure == and != work even if numpy returns scalar
Broadcast variables when doing __eq__ check in coord merge

cross ref: GH243
Speedup broadcast_variables
Ensure common dimensions with concat

This should fix issues with xray.concat when one of the variables is
scalar but the others are not.

cross ref: GH243
broadcast equal coordinates don't create conflicts when merging datasets

This is the new default behavior.

ref: GH243
More tests for concat promote shape
Handle NaN properly for merge conflicts; add Variable.broadcast_equals
Merge pull request #302 from shoyer/fix-conflicting-scalar-coords

Variables no longer conflict if they are broadcast equal and rather are promoted to use common dimensions