This patch fixes three bugs related to owl reading.
- The same_dragon function can't be used in owl pattern constraints (only valid for stackp==0) and has been replaced by same_string in A1122 and A1122a, which makes more sense anyway.
- compute_owl_escape_values() in owl.c was assuming that it would always encounter the dragon origin before any other stone in the dragon. This is not correct since the dragon origin is placed on the largest string of the dragon.
- get_lively_stones() in worm.c was only valid for stackp==0 but was used from owl reading where it sometimes is called at stackp==1 (e.g. in owl_does_defend()). It has been rewritten to use attack() and find_defense() instead of worm data. Thanks to caching this shouldn't make much speed difference at stackp==0.