Let user control display/embed behaviour more explicitly

For lack of a better approach, I decided to handle the different ways of displaying/embedding plotly graphs (depending on session mode) with a parameter for the `ggplotly()` method.  This parameter, `session`, can take 3 possible values: `interactive` (default, reminiscent of former implementation), 'knitr' and 'ipynb' (which stands for IPython Notebook, running a native R kernel).
Defaulting to this behaviour has proven useful in the Shiny App use case (where session was not detected as interactive, as expected).
Please review /cc @pedrodz @xsaintmleux @tdhock 
Documenting ipynb use right away.
Yes, we are defaulting to "interactive" session.  Previously, we would rely on detecting whether the session was interactive or not.  This was not perfect: it would simply assume that what you would want generic Plotly behaviour when session is interactive (which would be true in most cases...), else (if session not interactive) that would 'necessarily' mean you want to embed plotly plots in a knitr document...  Which doesn't really make sense, but it was okay for most use cases.  We hit a wall when using plotly in a Shiny App, because then session is not interactive, but you are not trying to generate knitr docs either!
So I decided to let the user specify it if they want a particular way of embedding plotly plots (in either knitr docs or notebooks).
This rant relates to issue #12, fyi.
I chose "interactive" mostly for historical reasons, because it is reminiscent of the former implementation.  I guess you don't like it because plotly plots are 'interactive', so it's all interactive always anyway?!