Add Client-Side API Key Validation

Client-side submission will trigger a check of the length and
integer value of the API Key ID. Additionally, limits of
8 and 64 characters have been added for the Key ID and Verification
Code (respectively)
Add Backend Error Trapping

So we don't get an error 500 on validation, error catching has been
added. We can do whatever we want with this on the frontend. Right
now the "confirm" box does not have functionality to make use of the
server response ({success: false, message: 'XXXX'}) but at least it's
there to use :)
Merge pull request #32 from jpumford/master

Add Shallow API Key Validation, fixes #21.