Feature/stefanedwards labeller

Resubmitting #904:
These two functions aid when labelling facets. labeller allows for
providing multiple named vectors and/or methods to change the labels for
each margin. label_wrap_gen allows labels to be word wrapped.