re2: memory diet

Cut unnecessary fields from Regexp and order to align better.
Combine smallsub and sub into one field.
Changes sizeof(Regexp) - a single node - from 104 to 40 bytes.

Use sorted array as permanent representation
of character class, avoiding the bloat of STL set<>.

Combined with CL 1129043, cuts storage used
by a typical RE2 object by about 60%.

R=r
CC=re2-dev
http://codereview.appspot.com/1174041
10 files changed