framework Start should return error

@xiaoyunwu 
I think it's useful for Start (and other bootstrap methods) to return error and let user understand. Since bootstrap is used in the main thread of user application, this doesn't expose any complexity of distributed systems. Just a way to let them know this task failed, e.g. maybe network isn't working well, maybe taskbuilder has some bugs, etc.