misc docs updates

docs: WIP "Config Syntax" docs #294. Also other minor improvements:
- Ref links on a few sections mentioned by the config-syntax docs
- Terminology explains "Look", expanded on role description slightly
- Main text has margin on right to prevent squishing up against side
  of browser
- Expanded ociocheck description, with examples of problems it catches
- Doc building ignores weird emacs-temp-file created for unsaved
  files, because they get copied and break Sphinx, but are never
  cleaned up on subsequent CMake runs.
- Looks section explained
- Change heading syntax
- Further explaination of `strictparsing:`
- Mentioning potential upcoming deprecation of `luma:` setting

docs: Bump size of headings

Smallest heading was 1.0em which appeared same-or-smaller than the
0.9em body-text.

Increased size of all heading levels to something more subtantial,
which makes the structure of the documentation clearer

docs: Mention installation via package managers

docs: Clarify yum install works for RHEL6 and derivatives

docs: Make heading syntax consistent

Level 1 heading
===============

Level 2 heading
***************

Level 3 heading
+++++++++++++++

Level 4 heading
---------------

docs: Meta-docs. Documentation guidelines

Also fix labels on installation docs

docs: Further heading-size tweaks

docs: Document config "colorspace" section, and available transforms

docs: Fix markup warnings
nuke: Trigger loadCDLFromFile when changing cccid

core: Better error when loading bad cccid

Adds single-quotes around cccid, to be consistent with other errors,
and avoid confusion when loading a blank cccid:

The specified cccid '' could not be found in file '/tmp/test.ccc'.

nuke: delay import of nukescripts in ocionuke.cdl

nukescripts.PythonPanel isn't defined until menu.py time, so which
causes errors if ocionuke.cdl is imported in a non-GUI session

Fixes part of #277
cccid (CDL index) can be specified either as a named id or index
nuke: Toolbar node population no longer conflicts with Foundry
bugfix for when you don't specify --ch
docs: Blender 2.64 with OCIO integration released

docs: Some rewording and more links

Vegas Pro 12 to compatible software
Closes #303
Compile fixes for FreeBSD
disk access caches allow concurrent lookups / loads.

Previously, if one loaded a file (LUT) that wasnt in cache, this would block
concurrent access of the file caches, even for different files.  With this
update, lookups for *different* files are non-blocking. However, lookups on
the same file *are* blocking; a lut should never be loaded twice from disk even
when concurrently used.

This change was added so image viewers which need real time performance can
efficienly use a 'prefetch' thread to see the file caches ahead of time. This is
particularly useful when used when playing clips with per-shot 3-D LUTs.
Update test to detect incorrect base usage in ApplyLinToLog, correct the bug
Remove use of seekg in CSP support to prevent an msvc10 bug with 64 bits build
Added pyglue test suite which mimics the jniglue one
Added GpuShaderDesc python type
Added Baker python interface
Moved many headers into PyUtil.h
Replaced try/catch blocks with OCIO_PYTRY_ENTER() OCIO_PYTRY_EXIT(foo) macro
Added function AddObjectToModule()
Fixed todo about PyErr_NewExceptionWithDoc for python2.7
Added template struct PyOCIOObject for all OCIO types
Added PyOCIO_GpuShaderDescType
Added PyOCIO_BakerType
Added template BuildConstPyOCIO() function
Added template BuildEditablePyOCIO() function
Added template BuildPyObject() function
Added template BuildPyTransformObject() connivence function
Added template DeletePyObject() function
Added IsPyOCIOType() function
Added template IsPyEditable() function
Added template GetConstPyOCIO() function (no DynamicPtrCast)
Added template GetConstPyOCIO() function
Added template GetEditablePyOCIO() function (no DynamicPtrCast)
Added template GetEditablePyOCIO() function
Added following extra python interfaces:
  AllocationTransform().getNumVars()
  CDLTransform().CreateFromFile(src, cccid)
  Config().CreateFromStream(istream)
  Config().getNumColorSpaces()
  Config().getColorSpaceNameByIndex(index)
  Config().getIndexForColorSpace(name)
  Config().isStrictParsingEnabled()
  Config().setStrictParsingEnabled(enable)
  Config().getNumRoles()
  Config().hasRole(role)
  Config().getRoleName(index)
  Config().getNumDisplays()
  Config().getDisplay(index)
  Config().getNumViews(display)
  Config().getView(display, index)
  Config().getNumLooks()
  Config().getLookNameByIndex(index)
  Context().getNumStringVars()
  Context().getStringVarNameByIndex(index)
  FileTransform().setInterpolation(interp)
  FileTransform().getNumFormats()
  FileTransform().getFormatNameByIndex(index)
  FileTransform().getFormatExtensionByIndex(index)
  Look().getInverseTransform()
  Look().setInverseTransform(transform)
  MatrixTransform().equals(matrix)
Added following extra java interfaces:
  Baker.setLooks()
  Baker.getLooks()
Added CTest add_test()s for core, pyglue and jnitests for use with travis-ci
Merge pull request #310 from malcolmhumphreys/master

pyglue refactor and test suite
* removed includes for missing PyConfig.h in PyConfig.cpp and PyMain.cpp
Added Python3 support to pyglue
Updated python dependencies for the doc system
olve ENV var before testing for relative/abs paths

fixed a bug where abs environment vars would not be correctly expanded before checking if they are abs in Context::resolveFileLocation()
Added the ability to explicitly declare config envvars

eg.
--snip--
ocio_profile_version: 1
environment:
  SHOW: super
  SHOT: test
  SEQ: foo
  test: bar${cheese}
  cheese: chedder
...
--snip--

ABI Changes:
- added Config::addEnvironmentVar(const char * name, const char * defaultValue)
- added Config::getNumEnvironmentVars()
- added Config::getEnvironmentVarNameByIndex(int index)
- added Config::getEnvironmentVarDefault(const char * name)
- added Config::clearEnvironmentVars()
- added EnvironmentMode enum
- added EnvironmentModeToString(EnvironmentMode mode)
- added EnvironmentModeFromString(const char * s)
- added Context::clearStringVars()
- added Context::setEnvironmentMode(EnvironmentMode mode)
- added Context::getEnvironmentMode()

Other Changes:
* added Environment Mode to the Context cache (updated tests to match)
* added pythonic config.getEnvironmentVarDefaults() which returns a dict
* added CreatePyDictFromStringMap() to PyUtill
* added test_is_editable to Config python unit test
* python test suite now returns a error return code when a test fails to work with ctest

Notes:
* old profiles are supported which still load the entire environment, this is disabled as soon as you define an 'environment:' section.
core,pyglue: fixed misc compile warnings on gcc44
bump
ExponentOp collapsing fix.

The exponent op is unique in that the inverse transform is represented by
inverting the exponent, rather than storing an explicit forward/inverse flag.

However, the internal inversion math was done at float precision which meant that
for some exponents a forward / inverse pair would not exactly cancel out.

Example: 1.037289f, 1.019015f, 0.966082f

This fix stores the exponent at double precision, while doing inverse checks at
float precision, allowing accurate collapsing.

This does not impact performance as the actual image processing still works at
float, only the internal exponent coefficients are stored as doubles.
* updated setuptools, docutils, jinja, pigments, sphinx
* added includehidden arg to toctree() in olio theme
* some doc string updates