add error modal and utility functions for error handling

-test it out

-with error_id
http://0.0.0.0:9000/dist/?error=this%20is%20an%20error%20message&error_id=957110B1

-without
http://0.0.0.0:9000/dist/?error=this%20is%20an%20error%20message