Fix a bug with function _random_str()

Ensure function does not generate illegal UTF-8 characters.
Create a forms.py file and add two form classes.
Add pylint directives to forms.py
Add a test case for the CampaignForm form.
Add tests for form CharacterForm