Only run validation checks on model insert

Otherwise we’d need to know all current properties on the model which
would require an previous select query (performance prohibitive)
Use bind in place of _this variable assignment
Allow saving of non-fillable values via force parameter
Add last_run field to be updated with current timestamp when handler invoked
Provider should only receive JSON representation of agent

So as not to allow direct manipulation of agent data object
Add default agent config
Add timestamps property to agent model to avoid null error
Use pubs pattern to handle agent boot
Add agent test for last_run property