Gave Pattern a virtual dtor because we inherit from it in lg now. This
isn't necessary, strictly speaking, as we never delete a Key* using a
Pattern*. Remove this again once we fold UserIndex in Key into
PatternInfo.