Fix string id crash

Still handling invalid statements, but actually fixing the issue by doing a `/[0-9]*/` constraint on all id routes. 

I also found the unknown_route response was doing a `.to_json` twice resulting a response that was a string of a json object instead of a json object. 
Good idea.