Lua: Fix void return for non-void functions

Commit #c3f3880d caused the functions
SWIGINTERN int SWIG_Lua_add_namespace_details(lua_State* L,
swig_lua_namespace* ns)
and
SWIGINTERN int SWIG_Lua_namespace_register(lua_State* L,
swig_lua_namespace* ns)
to return void when int returns were expected resulting in the build
failures for plplot's lua bindings for example. This commit fixes the
issue.

Closes #92
Bump version to 2.0.12
Add change note for missing Lua return statements

Conflicts:

	CHANGES.current
fix "long long" tests for perl v5.6
Add missing #include <stddef.h> for offsetof when using -builtin.

Fixes SF #1345

Conflicts:

	CHANGES.current
Fix Visual Studio compile error in C++ wrappers due to #include <exception> within extern "C" block.

Fixes SF #1340
Fix unused variable warning in Ruby wrappers when using gcc -Wall
C++11 support for new versions of erase and insert in the STL containers.

The erase and insert methods in the containers use const_iterator instead
of iterator in C++11.  There are times when the methods wrapped must match
the parameters exactly. Specifically when full type information for
template types is missing or SWIG fails to look up the type correctly,
for example:

  %include <std_vector.i>
  typedef float Real;
  %template(RealVector) std::vector<Real>;

SWIG does not find std::vector<Real>::iterator because %template using
typedefs does not always work and so SWIG doesn't know if the type is
copyable and so uses SwigValueWrapper<iterator> which does
not support conversion to another type (const_iterator). This resulted
in compilation errors when using the C++11 version of the containers.

Closes #73

Conflicts:

	CHANGES.current
	Lib/std/std_unordered_map.i
	Lib/std/std_unordered_set.i
octave: update support to Octave version 3.8.0

Conflicts:

	CHANGES.current
Fix PHP compilation error in ZTS mode (64 bit windows) due to TSRMLS_FETCH() expansion

Conflicts:

	CHANGES.current
Guile: make scm to string conversion work with non-ascii strings
Guile: illustrate bug in non-ascii string handling
mkdist script tweaks to support releasing from any named branch
Temporary workaround for bug in Travis build environment
Turn on Travis testing for maintenance-2.0 branch
Make string encoding explitic

Ruby 2.0 enforces explicit string encodings. The char_constant
testcase fails because the internal (SWIG_FromCharPtrAndSize, using
rb_str_new) defaults to ASCII-8BIT while the test-suite file defaults
to the current shell LOCALE setting.

This patch sets the char_constant_runme.rb encoding to ASCII-8BIT.
Add release summary for 2.0.12
Release scripts to release from any branch
Fix shadow instance creation failure in Python 3

I managed to trace a very nasty Python interpreter segfault to an
allocation failure here. Adding this after the tp_new call:
if (PyErr_Occurred()) {
    PyErr_Print();
}

results in output of 'TypeError: object() takes no parameters', followed
by a segfault that takes down the Python interpeter.

The 'object' constructor doesn't seem to be suitable for instantiating
SWIG shadow instances in this way, so simply use the constructor
function in the PyTypeObject 'tp_new' slot of data->newargs.

The 'if (inst)' check after this doesn't hurt in as much as it prevented
a segfault immediately after this failed allocation, but it doesn't help
much since the null pointer dereference will probably happen sooner or
later anyway.
Errors tests more visibly show failures as the output of diff

diff -u would be better, but it is not posix, so diff -e is chosen as
second best choice.