Make BookletLayout API use plural add/remove methods

Just like group element does!

Pages now have a name argument on construction which is used by the
booklet to index the page. This is the same way SelectWidget handles
items and their data.

Also, the behavior of how BooketLayout and SelectWidget handle adding
pages/items with the same names/values as existing pages/items has been
changed and made consistent. The new behavior removes existing
pages/items before adding new pages/items when the names conflict.

Change-Id: Icbb4a8fa317ca2d48de55103970ab596b1f70c83