There is a bug in pandoc < 1.12.1 where the --no-highlight option is not honored
in some situations. The IPython.nbconvert.utils.pandoc module prints a warning
if minimal version is not satisfied..
Adding checks to nbconvert.utils.pandoc module to ensure Pandoc is present
and issue warnings or raise exceptions when needed. Removed module root clutter
and limited calling subprocess functions from too many places inside the module.
Arg, forgot the most important:
Put the pandoc version test under the pandoc_available test.
This avoids raising an exception when the module is imported:
the exception is only raised on pandoc(...) function calls.

It also prints warnings if pandoc is not found at import time
and if the version does not meet the expected one.
Fix exception handler syntax for Python 3 compatibility.
Improve error messages.
pandoc version is now checked at each call to pandoc.pandoc(...). Version is tested with IPython.utils.version.version_check
add whats new for minimal-pandoc
move the pandoc_available(...) call inside get_pandoc_version(...) as it also tested for availability
nbconvert.utils.pandoc:
 - reduce code duplication
 - remove obscure parameters from pandoc_available
 - use find_cmd to locate binaries
 - group runtime cached values in a private dicitonnary (easier to manipulate)

Add pandoc unittests.
code shuffling to present the API functions first, and the innards at the end of the file
big cleanup of nbconvert.utils.pandoc module. Remove useless functions, less cached values.
fix Py3 test compatibility
Add a HTMLExporter.javascript_highlight CLI Bool to decide wether we
use inbrowser highlighting or prehighlighted html.

Add a switch to nbconvert's markdown2html filter that will make pandoc
output fenced code blocks as html <pre> blocks (no highlight) and rewrite the
css code-classes so that google prettyprinter can pick them up and do
the highlighting in the browser.

Add a html_escape filter. It is useful in templates that output raw
code in <pre> tags. The code needs to be properly html-escaped because
for example >= and <= will cause html parsing errors.

Update html_*.tpl templates accordingly to enable javascript highlighting.
Passing markdown2html the resources dict instead of just a value
of it, to more easily dig into it in the future without changing
the templates.
Tell which import is used for which version of Python
fix typo
In IPython.nbconvert.filters.highlight :
 * Highlight2Html & Highlight2Latex both inherit HighlightBase
 * --HighlightBase.highlight_enabled Bool siwtches [pygment] highlighting on/off
 * --Highligh2Html.css_class_template Unicode lets the user customize the css
   class of the <pre> or <div> element that surrounds the code.
 * Highlight2Latex simply returns the source code untouched if
   highlight_enabled is False

The html_*.tpl templates have been mostly reverted to their original state.

A new utility module:
IPython.nbconvert.utils.html : "implements" html_escape.
aha, bad key
Forgot this is a preivous commit:
 * --HTMLExporter.css_class_template Unicode behaves the same as
   --Highlight2Html.css_class_template but for fenced code blocks inside markdown cells.
Biggest change here is:
* HTMLExporter.javascript_highlight is now HTMLExporter.preprocess_highlight and has the opposite meaning:
 - the former : should I use javascript to highlight? (default: False)
 - the later : should I preprocess markdown to highlight code blocks? (default: True)

Some help strings improvements and inline comments.
fix regression test