constructor

Results 3 issues of constructor

``` $cling -std=c++2a ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths! Invoking: g++-5 -O3 -DNDEBUG -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.include/,${' -e '/^ \/.*++/p' -e...

The parameter of `operator=` and `relational operators` should be `const&` to enable generic algorithms and implement polymorphism, etc.