Implement better API design for string-based settings
Modify existing NMS goal selector appropriately

Existing goals must be removed before pet behaviour can be overriden
More appropriate speed
Redesign the pet attribute API
Begin the new API connector class

Those familiar with v2 will recognise a similar class; easy access
methods will be placed here when they are not available elsewhere in
the API.
Ensure that the pet entity modifier is not null before using it
Base command implementation around a system of pet selection

Instead of having to specify a pet name whenever a pet is to be
editing, a selection scheme is now available:
- pet is selected using /pet view (opens a menu)
- other commands (e.g. /pet data <data…>) will modify attributes of the
selected pet
No need to create a new datawatcher for every update
General code cleanup