Store blank parameters as '' instead of None

I know this was a recent change, but I think it makes more sense to have a way to differentiate between a parameter that has no value and a parameter that wasn't present.  It basically changes things the way the keep_blank_values parameter works in urlparse.parse_qs.

This change WILL break a lot of tests, including the list tests with empty elements.  I would be happy to update tests, but I want some feedback on what is preferred.  The easier solution would be a parameter to parse_query_string, but I'm not sure how this would be passed into the request (maybe an environment variable?).  Another alternative would be adding a parameter to request.get_param and request.get_param_as_list which will filter after the fact, but it would be less efficient.

There is more edge cases like request.get_param_as_list(transform=int) with empty elements.  It currently raises InvalidParam, is this the "correct" behaviour?  Should request.get_param_as_list(transform=float) raise InvalidParam or return empty elements as float('nan')?  Maybe both these cases should return None elements instead.

I realize this change is trading flexibility for performance, and it may be rejected for this reason.  If you think it's useful though, I would be happy to update the test suites and make sure everything is working.
The only thing I was concerned about in this case was a text field where the user was supposed to enter true or false (or a true/false select with '' as default).  I'm not sure adding '' to be True by default is a great idea because in python it's falsey.  I added this option as sort of a "I'm sure that's what I want" option to prevent people from shooting themselves in the foot

That being said, it's actually easier to do that by adding '' to the TRUE_STRINGS, and I would be happy to change it.  I'll add a note in the docstrings for the option if this is default though, just to warn people this will happen.