Maybe after seeing how the dao and ethereum have ended up we shouldnt really tempt fate too much by tinkering with bitcoin to allow such things. If its not broke dont fix it. Imo smart contract should be left to altcoins, Bitcoin as it stands works at what its supposed to (well within reason, its a good store of value anyway)
Counter party has had "smart contracts" since years ago, the main part to take a look in a smart contract is the escrow of funds, their decentralized exchange is a type of smart contract that escrows money and executes orders independently. And as Gmaxwell said, you can even build your own protocol and language for smart contracts because Bitcoin has always allowed it.