Remove long line wrapping from Python parameter list generation code.

This doesn't play well with PEP8 checks which imposes very strict continuation
line indentation rules which need to be _visually_ aligned, i.e. the subsequent
lines must be indented by the position of the opening bracket in the function
declaration line, but the code generating the parameter lists doesn't have
this information and so it's impossible to do it while avoiding either E128 or
E123 ("continuation line {under,over}-indented for visual indent" respectively)
error from pep8.

Moreover, the wrapping code didn't work correctly anyhow as it only took into
account the length of the parameter list itself and not the total line length,
which should include the function name as well.

So just disable wrapping entirely, long lines shouldn't be a problem anyhow in
auto-generated code.
Refactor: move makeParameterName() to common Language base class.

This method was duplicated more or less identically for 4 languages and will
be needed for another one soon, so put it in the base class from which it can
be simply reused instead.

No changes in the program behaviour whatsoever.
No real changes, just make PYTHON::check_kwargs() const.

This will allow calling it from const methods too.
Don't always use "*args" for all Python wrapper functions.

Due to what seems like a bug introduced during Python 3 support merge, all the
generated Python functions used the general "*args" signature instead of using
the named parameters when possible.

This happened due to is_primitive_defaultargs() always returning false for the
functions without any default arguments as "value" passed to convertValue()
was NULL in this case and convertValue() always returns false for NULL.

Fix this by checking for value being non-NULL before calling convertValue().

Doing this exposed several problems with the handling of unnamed, duplicate
(happens for parameters called INOUT, for example) or clashing with keywords
parameter names, so the code dealing with them had to be fixed too. Basically
just use makeParameterName() consistently everywhere.
Allow using enum elements as default values for Python functions.

Enum values are just (integer) constants in Python and so can be used as the
function default values just as well as literal numbers, account for this when
checking whether function parameters can be represented in Python.

Also rename is_primitive_defaultargs() to is_representable_as_pyargs() to
describe better what this function does.
Merge remote-tracking branch 'vadz/py-args'

* vadz/py-args:
  Allow using enum elements as default values for Python functions.
  Don't always use "*args" for all Python wrapper functions.
  No real changes, just make PYTHON::check_kwargs() const.
  Refactor: move makeParameterName() to common Language base class.
  Remove long line wrapping from Python parameter list generation code.
Fix autodoc testcase for new named python arguments when using python -builtin

For the changes in #201.
Minor cosmetic source code changes
Fix when is 'self' used as a parameter name in Python

Fix corner case for variable names called 'self' after merging in patch #201
Don't use C++ features when building test code as C.

This fixes the build after a6efdb7 which added a method to a test used in both
C++ and C test cases.
Revert "Don't use C++ features when building test code as C."

This reverts commit 6d93d57ab03f4c13dca65921cadc6f1e6d244cff.
Revert "Fix when is 'self' used as a parameter name in Python"

This reverts commit a6efdb7999298de6be8c5b4f1fca4ff60ac1fb20.
Fix autodoc testcase for python -builtin
Fix R Lib files and testcase failing due to new preprocessor checks

Fixes unknown preprocessor directive error introduced in #217
commit 255c929c5636f54c16261bd92b8eea2005d61b11
These were probably intended as script comments using # when C/C++
comments using // or /* */ should have been used.
Update changes file
Fix for 'self' being used as a parameter name
Fix 'self' parameter name clash when generating for Python builtin
fixes "flatnested"  feature for out-of-scope defined nested classes
Fix doc typos reported by tounsi67 in issue#260
D: Fix li_boost_shared_ptr_runme.2.d compilation.

The overload of Thread.sleep taking a bare integer has been
deprecated/removed.