BUG: preserve left frame order in left merge

closes https://github.com/pydata/pandas/issues/7331

on master:

    >>> left
          dates states
    0  20140101     CA
    1  20140102     NY
    2  20140103     CA
    >>> right
       stateid states
    0        1     CA
    1        2     NY
    >>> pd.merge(left, right, how='left', on='states', sort=False)
          dates states  stateid
    0  20140101     CA        1
    1  20140103     CA        1
    2  20140102     NY        2
`DataFrame.join` already works fine:

    >>> left.join(right.set_index('states'), on='states', how='left')
          dates states  stateid
    0  20140101     CA        1
    1  20140102     NY        2
    2  20140103     CA        1

on branch:

    >>> pd.merge(left, right, how='left', on='states', sort=False)
          dates states  stateid
    0  20140101     CA        1
    1  20140102     NY        2
    2  20140103     CA        1

    >>> pd.merge(left, right, how='left', on='states', sort=True)
          dates states  stateid
    0  20140101     CA        1
    1  20140103     CA        1
    2  20140102     NY        2

in `pandas/src/join.pyx` only `left_outer_join` accepts this extra argument [`sort`](https://github.com/pydata/pandas/blob/2ad9dc79b33a3510d89d446a7c82200a753e132c/pandas/src/join.pyx#L52), which was added in [this](https://github.com/pydata/pandas/commit/21308b2ff75c7c94cb06666394d8e9e80eb6389d) commit to preserve left frame order.

I think it makes sense, because except for the case of left join preserving order is not well defined or I do not see an immediate use for it.