FIX: queryString.decode now returns an Array when the property name repeats
better var names and keeping property name into variables instead of using so much array index notations.
now encode accepts object with properties with array
tests considering special chars and  arrays with empty values.
spec test changed to cover empty array and array with empty values
Merge branch 'qs-encode'
jslint friendly
regex to replace trailing property name fixed, and test updated
Merge pull request #110 from hankpillow/master

queryString decode allowing repeated properties