Share the name map when copy constructing Flags

Since the only use case for the copy constructor currently is for
multiple instances of a class sharing the same set of flag strings,
share the map rather than copy constructing the rb tree.

Summary of performance gains:
-------------------------|------------------|---------------------------
                         |Symbols Processed |Time in Symbol Constructor
-------------------------|------------------|---------------------------
Original implementation  | 243189           | 0.20 s   (x1)
-------------------------|------------------|---------------------------
Copy-construct maps      | 636930           | 0.20 s   (x3)
-------------------------|------------------|---------------------------
Access via masks         | 434853           | 0.03 s   (x12)
-------------------------|------------------|---------------------------
Common std::map objects  | 749844           | 0.01 s   (x62)
-------------------------|------------------|---------------------------