rename notebook_model.has_asset -> get_asset
simplify notebook controller callback generator
artifacts
append_asset return promise of notebook

not promise of controller, which was weird and opportunistic
do not change current asset when deleting non-current asset

fixes #1042
artifacts
promisify append_cell and insert_cell and fix prompt execution

closes #591 - notebook controller returns promises everywhere
fixes #1092 - execution works from prompt again