Implement a RemoveConst return_value_policy.

Earlier boost versions, <= boost 1.41, have
problems registering conversions between const/non-const pointers
for exported Python types. The return value policy allows this
to be avoided by removing the const on return of an object to Python
without having to create another proxy function.

Const pointers as function arguments will still require proxy functions
though.
Refs #7607
Remove Python registration of pointer to const types.

Those methods that return pointers to const types now use the new
RemoveConst return_value policy.
Refs #7607
Remove unused headers.

Refs #7607