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
Nuke: OCIODisplay now has an implemented GPU path