Delete and handle nonexistant tags

This PR is based on #644 and adds two things

1. We can remove tags from a media file. Calling `delattr(mediafile, 'artist')` and then `mediafile.save()` will remove the 'artist' tag from the file on disk.
2. To better deal with nonexistent tags, the `MediaFile` properties may now return `None` if a tag is not present in the file. I have no clue how this will play with the rest of beets, but at least the tests all pass.

There is one thing I’d like to add: In `mediafile.update()` check for `None` values in the dictionary and **delete** those tags. This solves #157 and #645.

Feedback is very welcome.