Add plugin factory - plugins specific for each flow

This changes how plugins are defined. Now, instead of defining them as classes in a huge Plugins object, they are defined in /lib/smartdown_plugins/<flow_name>.rb

See https://github.com/alphagov/smart-answers/blob/2433e10524d0c6324772d8ddfbd0dc19f1d31e8f/lib/smartdown_plugins/animal-example-multiple.rb for an example.

The correct fix is simple enough (use the question number/prefix as part of the ID/label), but we should do this separately. A new story/PR rather than in the middle of an unrelated PR that doesn't explain the change.

This change should be backed out and a new story written for fixing labels for period fields.