Do not import integer value 0 as a missing value

Here is a simple example that demonstrate the problem:

    # models.py
    from django.db import models

    class MyModel(models.Model):
        integer_field = models.IntegerField()

    # mycommand.py
    import json
    from django.core.management.base import BaseCommand
    from tablib import Dataset
    from import_export import resources
    from myapp.models import MyModel

    class Command(BaseCommand):

        def handle(self, *args, **options):
            # Create object with integer value 0
            MyModel.objects.get_or_create(integer_field=0)

            resource = resources.modelresource_factory(model=MyModel)()

            # Save to json file
            dataset = resource.export()
            with open("myfile.json", "w") as fp:
                fp.write(dataset.json)

            # Import from json file
            dataset = Dataset()
            with open("myfile.json") as fp:
                dataset.json = fp.read()
            result = resource.import_data(dataset, raise_errors=True)
            print MyModel.objects.first().integer_field

When we execute this command we get an error:

    django.db.utils.IntegrityError: myapp_mymodel.integer_field may not be NULL

This is because the IntegerWidget.clean method returns None for all falsy
values and 0 is falsy. I've added a test case that highlights the issue
and I made a simple change that takes into account the fact that 0 is
not a missing value even though it's falsy.
Test that IntegerWidget.clean handles string "0"

Verify that string "0" cleans to integer 0
Merge pull request #164 from amarandon/master

Do not import integer value 0 as a missing value