Implemented scale_facet_wrap function.

Added support for calculating the limits and setting the label visibility for
four different scale types when the facet type is "wrap": None, "free",
"free_x", and "free_y". The behavior of the different scale types is based on
the behavior outlined in the ggplot2 docs
(http://docs.ggplot2.org/current/facet_wrap.html), except I decided to display
the x-axis labels on the bottom plot for each column, not just the plots in
the bottom row.
Renamed xdim and ydim to rows and columns, respectively.

Makes the code in the scale function easier to understand. Also added a note
to the call to scale_facet_wrap about how n_wide is actually being used to
specify the number of rows in the subplot and n_high is used to specify the
columns.
Tests for the scale_facet_wrap function
Forgot to commit this to add the scale_facet_wrap test to the test suite.
Add more programmatic testing to the scale_facet_wrap test.

Don't just rely on the image comparison, also run some checks by inspecting
the axes of the generated plots and making sure that ticks and labels are
present and equal where appropriate.
geom_boxplot added