Greatly improve construction speed of messages with plurals

Messages with plural arguments will now compile much faster because of lazily creating and reusing a NumberFormat instance for all plural offset strings. A check was also added to only use plural offset strings when they are needed.