Type Attribute depends on C++ class BlockDesc but not proto::BlockDesc
Created by: wangkuiyi
Given that the C++ class BlockDesc is just an I/O helper of proto::Desc, Attribute and other places where we need to use the BlockDesc should use proto::BlockDesc, instead of its I/O helper.