Board model validation and legacy key support

Added Joi validation to the board model constructor. This validator
ensure all the correct properties are allowed through (only name is
required for now), and rejects any other keys.

Added support for generating legacy keys. Currently only SMF is
supported. The Legacy key is found in the getLegacyKey method on the
prototype chain.