Added partial axis limits to xlim and ylim geoms

if 'g' is a plot, then we can specify partial limits as:
g + xlim(0) # For a lower x limit of 0
g + ylim(high = 4) # for a higher y limit of 0
g + xlim(None, 42) # for a higher x limit of 42
g + ylim(low = 2) # for a lower y limit of 2

The unspecified limit is set as it would have been in a plot without
explicit limits added. I.e if 'g' is plotted without setting xlimits and
the plot range from 0 to 6, then plotting 'g + xlim(low = 4)' would
adjust the xlimits to 4 to 6
Added test case for partial xlim and ylim
Merge pull request #311 from arnfred/limits

partial axis limits to xlim and ylim

if 'g' is a plot, then we can specify partial limits as:
g + xlim(0) # For a lower x limit of 0
g + ylim(high = 4) # for a higher y limit of 0
g + xlim(None, 42) # for a higher x limit of 42
g + ylim(low = 2) # for a lower y limit of 2

The unspecified limit is set as it would have been in a plot without explicit limits added. I.e if 'g' is plotted without setting xlimits and the plot range from 0 to 6, then plotting 'g + xlim(low = 4)' would adjust the xlimits to 4 to 6
Fixed issue with partial xlim or ylim and facets

Because the earlier submitted patch was using plt.xlim() to get length
of the auto adjusted axes length, all axes in a facets plot would end up
with the same upper limit when setting only the lower limit and vice
versa. The same is was true for the y-limit.
Added unittest to check for bug fixed in last commit
Merge pull request #313 from arnfred/limits

Fixed issue with partial xlim or ylim and facets