API additions and updates; minor tidies

Updates to API:
- Add API entry point to get an individual device: /devices/:hostname
- Use existing functions for getting device id from name and getting device record from id
- Provide more accurate HTTP status codes for several operations
- Return the device information when a device is deleted
- Increase API token length to allow for future hash algorithms
- Documentation and footer tidying
- Don't ignore plugins directory