Update plugin.py

Updating plugin.py to check for the existence of the extras key in the data_dict.
Merge branch 'rikdc-89-extras-check'
[#96] Handle encoding errors on harvest object endpoint

When parsing the harvest object content to see if it is an XML file,
etree.fromstring would fail id there are incorrect unicode errors.
[#97] Persitent endpoint for datasets harvest objects

Contrary to `/harvest/object/xxx`, this endpoint is passed the dataset
id, thus it not depends on a particular object but the most recent one.
Merge branch 'master' into 96-harvest-object-encoding-errors
Merge branch '96-harvest-object-encoding-errors'
Support for single import commands

We are now able to run `paster harvester import` for a single harvest
object or for a single dataset, providing ids or name.
[#91] Consolidate all harvest source reindex code in a single action

Make it available to users with permissions on the harvest source
[#91] Remove config fields from source dict before indexing

We don't need them and will avoid indexing errors
Merge branch '91-reindex-list-fields-in-config'
[#88] Add redis to requirements
Fix variable not defined
[99] Remove empty tags produced by munging all non-ascii tags

I thought this way of filtering was easier to read than filter(None, tags)
[101] Use name from database when reharvesting package
Always remove harvest extras on after_show if there

Up until now we where relying on `for_edit` being present in the
context, but this is only added on the controllers. It's better to be
safe and remove them always. If needed (at index time) they will be
added afterwards.
Merge branch '101-modified-package-name' of https://github.com/morty/ckanext-harvest into morty-101-modified-package-name
Merge branch 'morty-101-modified-package-name'
Merge branch '99-all-non-ascii-tags' of https://github.com/morty/ckanext-harvest into morty-99-all-non-ascii-tags
Merge branch 'morty-99-all-non-ascii-tags'
Merge remote-tracking branch 'upstream/master'

Conflicts:
	ckanext/harvest/plugin.py