ENH/VIS: Dataframe bar plot can now handle align keyword properly
Closes #4525.

I modified the `BarPlot` internal alignment to meet line coordinates. Previously, `BarPlot` doesn't pass `align` keyword to matplotlib (thus matplotlib uses `align='edge'`), but it adjusts bar locations to looks like `align='center'`.

Now `BarPlot` pass `align=center` to matplotlib by default and ticks are being locates on integer value starts from 0 (0.0, 1.0 ...). Drawing bar and line on the same axes looks like below.

_Output using current master:_
![align_incorrect](https://f.cloud.github.com/assets/1696302/2492234/0df22b26-b21c-11e3-8a96-95cffa20a7c6.png)

_Output after fix_
![align_correct](https://f.cloud.github.com/assets/1696302/2492238/5f5bc26a-b21c-11e3-9b70-76892cea9eca.png)

Thanks for this.

We may want a little warning in the release notes that this will change the look of the default output. I'm onto sure how guarantee plots being identical from one version to another.

You have a few [magic numbers](http://en.wikipedia.org/wiki/Magic_number_%28programming%29#Unnamed_numerical_constants) in the `_check_bar_alignment` function, like in `tickoffset = width * (position - 0.5) + p.get_width() * 1.5`. Are the .5 and 1.5 just constants that matplotlib uses?

I had a couple of notes inline, but overall this looks good. If you look at those and rebase I'll get it merged. Thanks.
 Thanks for your confirmation. I added decorators / warning description in what's new txt, and rebased.

Fixed numbers in `_check_bar_alignment` is derived from `BarPlot` class logic (line 1690 of plotting.py). 
- `width * (position - 0.5)` derived from `position` 's default (0.5). Because `BarPlot` now specifies the center-bottom coordinate of bar, no adjustment should be done when `position` is 0.5. Thus, it should be substituted.
- `p.get_width() * 1.5` is derived from previous version's logic. `BarPlot` has draw non-stacked plot starting from `(i +1) * width` location (line 1766 of plotting.py). Now we have to specify the bar location, it should be changed to `(i + 1.5) * width`. Thus, to get the same offset as the previous logic, I used 1.5 to get the offset.
 OK. I have understood to write a warning about backward-compatibility in release note, but it should be in plotting.rst, or simply removed? I think usage is not necessary because the `align` keyword works as the same as matplotlib.

I'll correct my typo once confirmed where the description should be (or removed).
 ok so move both the release note and the v0.14.0 note to the API section - change from an actual warning block to just text in the note (no need for a separate warning block) 
 Sure. Descriptions are under API Changes section, and corrected typo and warning block.
 ok by me... @TomAugspurger if ok, then go ahead and merge
 Looks good. Thanks
