Data structure for element in xrf calculation

Per @tacaswell 's suggestion, the element data is re-organized. The goal is to build a convenient interface to obtain all the fluorescence related information from xraylib. We may want to extend this element interface as an independent package later, because xraylib is not very easy to use, but currently we only focus on internal use.
So no type checking here, we don't need to worry about a wrong type like string or list?