Get subscription to pin and delete from the clicked event instead of load time DataContext.

The DataContext is wrong as it's being set during loading of the component. The same component is used for multiple list elements (when recycling it) so the DataContext is hence wrong.
Use data binding when showing podcast episodes instead of implicitely setting the data source.

This way we can update the list of episodes while it's showing.
In background agent, return from the method if some error happens.
Make ScheduleAgent execution recursive.

We had a nice race condition which is now fixed by having only one async task running at a time.