#105 Add real() and imag() free function

For a complex DataContainer real() and imag() return the real
and imaginary part of it respectively. The return type is a
real valued DataContainer.

Note, similar to the standard library (std::real and std::imag),
non-complex DataContainers are treated as complex with zero
imaginary component.
16 jobs for master in 11 minutes and 28 seconds (queued for 4 seconds)