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.
It if comes in as a string that can be cast to a float ("0.3") it works as expected, if it comes in as a list, then things will blow up at the python level, which is what is suppossed to happen.