FormRequest formdata drop None values #667

Implementation of: #412 #667

Current:

```python
>>> from scrapy.http import FormRequest, HtmlResponse>>> FormRequest.from_response(HtmlResponse(url='http://website.com', body='<form method="GET"><input type="text" name="none_value"></form>'))<GET http://website.com?none_value=>
>>> FormRequest.from_response(HtmlResponse(url='http://website.com', body='<form method="GET"><input type="text" name="none_value"><input type="text" name="empty_str" value=""></form>'))
<GET http://website.com?none_value=&empty_str=>
>>> FormRequest.from_response(HtmlResponse(url='http://website.com', body='<form method="GET"><input type="text" name="none_value"><input type="text" name="empty_str" value=""><input type="text" name="empty_str" value=""></form>'))
<GET http://website.com?none_value=&empty_str=&empty_str=>
>>> FormRequest.from_response(HtmlResponse(url='http://website.com', body='<form method="GET"><input type="text" name="none_value"><input type="text" name="empty_str" value=""><input type="text" name="empty_str" value=""><input type="text" name="with_str" value="str"></form>'))
<GET http://website.com?none_value=&empty_str=&empty_str=&with_str=str>
>>> FormRequest("http://website.com?a=1&b=1", method = "GET", formdata = {"a":None, "c":"3"})
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "scrapy/http/request/form.py", line 27, in __init__
    querystr = _urlencode(items, self.encoding)
  File "scrapy/http/request/form.py", line 52, in _urlencode
    for v in (vs if hasattr(vs, '__iter__') else [vs])]
  File "scrapy/utils/python.py", line 82, in unicode_to_str
    raise TypeError('unicode_to_str must receive a unicode or str object, got %s' % type(text).__name__)
TypeError: unicode_to_str must receive a unicode or str object, got NoneType
```
With patch:
```python
>>> from scrapy.http import FormRequest, HtmlResponse>>> FormRequest.from_response(HtmlResponse(url='http://website.com', body='<form method="GET"><input type="text" name="none_value"></form>'))<GET http://website.com>
>>> FormRequest.from_response(HtmlResponse(url='http://website.com', body='<form method="GET"><input type="text" name="none_value"><input type="text" name="empty_str" value=""></form>'))
<GET http://website.com?empty_str=>
>>> FormRequest.from_response(HtmlResponse(url='http://website.com', body='<form method="GET"><input type="text" name="none_value"><input type="text" name="empty_str" value=""><input type="text" name="empty_str" value=""></form>'))
<GET http://website.com?empty_str=&empty_str=>
>>> FormRequest.from_response(HtmlResponse(url='http://website.com', body='<form method="GET"><input type="text" name="none_value"><input type="text" name="empty_str" value=""><input type="text" name="empty_str" value=""><input type="text" name="with_str" value="str"></form>'))
<GET http://website.com?empty_str=&empty_str=&with_str=str>
>>> FormRequest("http://website.com?a=1&b=1", method = "GET", formdata = {"a":None, "c":"3"})
<GET http://website.com?a=1&b=1&c=3>
>>> FormRequest("http://website.com", method = "GET", formdata = {"a":None, "c":"3"})
<GET http://website.com?c=3>
```