Added default status and validation for devices
Added device updating and destroying and made saving slightly terminal friendlier. Additionally, moved device constants to the model