Create scoped_cptr to replace scoped_ptr_sfree

Compareed to the previous scoped_ptr_sfree, scoped_cptr has a get
method, a bool-conversion, and allows to specify a custom deleter.

If just a guard is required then the scoped_guard_sfree typedef
can be used which doesn't require to specify a type.

Change-Id: I81cb50c4cf34e2d5a93e9c4b0043afcbc5feb535