removed nested for loops in the illegal char replacement step:

- merged all illiegal character sets with:
	`for character in set.union(*illegal_characters.values()):`
editied .gitignore so as not to track my ide's proj files (sorry)
added user-defined illegal characters and streamlined py2 unicode testing
.gitignore: SORRY forgot some!
Merge pull request #3 from xguse/dev

Streamlined a few things and added user-defined illegal characters to call sig