added a .travis.yaml as per the instructions on rust ci
children and attributes containers are now created when called to allow the parent function
create attributes on every element creation, so that calling attributes() is efficient