Another interesting bug in the resume code

This fixes an interesting bug with the native resume code. xbmc.getInfoLabel returns the currently selected item at the time it's called. So, to reproduce the problem do the following:

1. Start playback on a 1CH strm
2. While playing, go back to the library and scroll to a different item
3. Stop playback

Incorrect Result: The native bookmark will get set on the newly selected item rather than the item that played.

To minimize the chance of this issue I grab the DBID asap in get_sources and then reuse that everywhere else. It's still somewhat possible for this to happen but much less likely. There's still a limited window before the get_sources window pops up that you can still cause this by quickly scrolling, but it's much less likely.

Also, I found the custom bookmark code was duplicating bookmarks due to season/episode/year being set to None. I fixed that by setting them to ''

Also, sometimes custom bookmarks weren't being found due to surrounding spaces in the TVShow/Movie title.