Add feature: exporter.  Provides csv and pdf exporting.  Draft only

Add exporter as a feature, with associated directives.

Note minor changes to selection feature to expose an
additional method on the api, otherwise this is entirely
new code with no/low impact on the grid as a whole.

Provides for CSV export and PDF creation using the pdfMake library.
Includes tutorials and ngdocs.

Not final - it runs and works, and has unit tests, but:
1. (Showstopper): I can only run with grunt --force, and
grunt dev --force, as jshint complains about pdfMake.  It
does work, but it relies on inclusion of the script.  I don't
know how to include the script directly for testing a service,
and would appreciate help on that.

2. The UI I've provided is ugly, largely because my CSS skills
aren't up to the job.  I've also provided for people to be able
to create their own UI, so I think it's enough to start with, but
would greatly appreciate someone more talented than I helping with
the button and the CSV link for download - they overlap the
grid and don't align.

3. My use of the grid menu is a bit shaky.  In particular the
show and hide is unreliable, sometimes needing clicking twice.
Again hoping that someone smarter than me knows why this is.

At this stage happy to see this as a code review and verification,
I don't think it can be merged without at least item 1 being fixed,
so any advice on that would be appreciated.  Beyond that, I'm happy
that we either merge and give the opportunity for others to deal with
2. and 3., or that people give me advice and I fix it, then resubmit.