Introduce MACHINE_FPGA_BITSTREAM and BOARD_FPGA_PACKAGES variables

MACHINE_FPGA_BITSTREAM is in the MACHINE_EXTRA_RDEPENDS list, and should
contain the FPGA bitstream provider and optionally the drivers that it
requires.

Images will get the machine's default reference design, but can override
this variable in order to use application specific bitstreams and drivers.

BOARD_FPGA_PACKAGES contains the list of packages to be added to an image.
This is a separate variable, since it is to be expected that the FPGA bitstream
will support all board periferals as well. If that is not the case, the recipe
that overrides MACHINE_FPGA_BITSTREAM should override BOARD_FPGA_PACKAGES
as well to account for this.