Always set ExecutionTarget in case AddIn is checking if execution target exists

I'm working on https://github.com/DavidKarlas/MonoDevelop.MicroFramework AddIn and I ran in problem that F5 was not starting execution but Run button(in top left corner) was working just fine. After some debugging I figured that call from https://github.com/mono/monodevelop/blob/master/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/Extensions.cs#L41 is not setting ExecutionTarget and my OnGetCanExecute is returning false if target is null...

I also removed default value *null* from ExecutionContext.cs constructors to make developers in future aware that they should set ExecutionTarget(if they really can't they still put *null* but at least they are aware of problem).

If I shouldn't be checking against ExecutionTarget don't take this pull request and I will remove check against ExecutionTarget in my OnGetCanExecute. But than when device is disconnected I will display option to Run(instead to Build) and Execution will always fail.