Changed the implementation details and xmlToBTX implementation

Change BTXAttributes to an abstract class rather than interface so that
I could get default implementations for methods.

Added in an btx to xml function and moved the xml to btx function to a
different file for better organization.