Added URL Encoding for form posting

Changed the structure a bit

Added more documentation and compile-time checks

Changed char to string quotes

Using string rather than char everywhere