Xraylib wrap

More work is done to wrap xraylib, such as 

a. make class public
b. more overloading operation, eq, lt, gt, ...
c. more doc
d. sub class

we need to discuss the location of element module.
does key have to be one of the options specified in `info_type`?