Gcc extra warnings

Remove some gcc warnings when -Wextra is enabled.

(1) remove unneeded const qualifier on return value

(2) add explicit calls to copy constructor. I have some doubt about this patch since i don't see virtual inheritance. The changes should be safe but I don't know if we should trust gcc suggestion.