Fix error associated with box types; function signature attributes

Using a box type caused an unexpected failure per #8; fixed by recursively resolving the inner type. Attributes on functions are implemented as well, though docs in the body of the function are still missing. I got closer with enum attributes, but since the ```enum_def``` node and the ```visit_enum_def``` method don't access a node_id, I'm not sure how I can populate the attributes (assuming it has to be done the same way for enums as it is for structs).