Update names to comply with convention

Background
-----
This pull request accomplishes three things:

1. ```AsyncTask.ExecuteCore``` to ```AsyncTask.HandleTaskExecutionCore```. This is primarily to align the name better with another method ```AsyncTask.HandleTaskCompletionCore```.

2. Renamed ```NodeModel.RequestVisualUpdate``` to ```RequestVisualUpdateAsync``` to indicate that it is a method that returns immediately without waiting for the visuals to be updated. This is to comply with the naming convention of methods whose execution is asynchronous in nature. To quote [what *Stephen Toub* wrote](http://stackoverflow.com/questions/15951774/naming-convention-for-async-methods):

    *As for void-returning asynchronous methods, it's not desirable to have those in public surface area, since the caller has no good way of knowing when the asynchronous work has completed. If you must expose a void-returning asynchronous method publicly, though, you likely do want to have a name that conveys that asynchronous work is being initiated, and you could use the ```Async``` suffix here if it made sense. Given how rare this case should be, I'd argue it's really a case-by-case kind of decision.*

3. Introduced an empty method ```NodeModel.RequestValueUpdateAsync``` for use in a later work (it being here reduces the code difference.

Note to reviewer
-----
Hi @lukechurch, please have a look. This is what we have discussed before. Thanks!
i remember 'async' suffix normally means it is waitable?