Add the interface of the Flyweight data structure.

A flyweight reduces the memory usage of an application by facilitating the
sharing of immutable values.

This is the interface that all implementations must follow.

BUG=
R=etienne.bergeron@gmail.com, etienne.bergeron

Review URL: https://codereview.appspot.com/59290043