BUG: barplot with log=True not working for values smaller than 1
Closes #9905. Also include a fix that `log` kw is ignored in horizontal bar plot. Test cases are based on standard mpl result:

```
plt.bar([0, 1, 2], [0.1, 0.01, 0.001], log=True)

plt.gca().get_ylim()
# (0.001, 0.10000000000000001)

plt.gca().yaxis.get_ticklocs()
# [  1.00000000e-04   1.00000000e-03   1.00000000e-02   1.00000000e-01
#    1.00000000e+00   1.00000000e+01]
```

Maybe `log` in bar plot and `logx` and `logy` kw should be merged in future...
