click/string: clear dangling pointer on String::deref

In order to make use-after-free of Strings fail more quickly, this change
blows away _r.memo on String::deref(), since we should no longer hold a
reference to it.  Additionally, it asserts that the memo_t's refcount is not
zero when deref is invoked, since the caller should have a valid reference
at that point, and also that the refcount is zero when the memo_t is
deleted.
linuxmodule/FromDevice: replace assert with skb_share_check

It isn't clear that this assertion holds in general, so just Do the Right
Thing instead.  If the check returns NULL, the original SKB has already lost
a ref, so report that it was handled.
Merge pull request #145 from pallas/fromdevice-skb-share-check

linuxmodule/FromDevice: replace assert with skb_share_check
Merge pull request #144 from pallas/dangling-string-memo

lib/string: clear dangling pointer on String::deref
Merge branch 'master' of git://github.com/kohler/click