Use seastar::checked_ptr<weak_ptr<pepared_statement>> instead of shared_ptr for passing prepared statements around. This allows an easy tracking and handling of statements invalidation. This implementation will throw an exception every time an invalidated statement reference is dereferenced. Signed-off-by: Vlad Zolotarov <vladz@scylladb.com>