Move smart_str implementation into Zend/

So we can use it there as well...

For now I've retained the zend_smart_str_public.h header, though
it would probably be better to just move that one struct into
zend_types.h.
Use smart_str in get_function_declaration

Instead of custom smart string implementation
Use smart_str for exception stack traces
Rename smart_str_append to smart_str_append_smart_str

It's used only rarely and I'm running out of append names...
Add smart_str_append for appending zend_strings

Also replaces usages in Zend/ and ext/standard