Implemented more has/getAttribute improvements.
several functions in ships should run more efficiently, be more logical.
removed the switch from GetAttribute all unknown attribute calls will now issue an error.
All calls to GetAttribute that normally relied on the switch to not generate an error should now be updated to use HasAttribute.
A few functional improvements that will hopefully make things better.