+ remove unnecessarily checks
+ xml_attribute_cast

NOTE: will throw for types that don't have explicit specialization
      it's ok to use boost::format in err branch of code
+ update xml_tree to use xml_attrinbute_cast and remove fast_cast