Merging new code block editor changes from master into Revit2015 branch

@Benglin I think this is good to go/merged. Aside from CBN changes, there are a few extra commits that have just gone into master that are not in Revit2015 yet, which is why they show up in this PR too.