100 milliamp coil current...transistor or MOSFET?

Let's get all the datasheet facts out:

Absolute Maximum Ratings*
DC Current per I/O Pin ................................................ 40.0mA
DC Current VCC and GND Pins................................. 200.0mA
('328P has two Vcc and two Gnd Pins)

*NOTICE: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage
to the device. This is a stress rating only and functional operation of the device at these or
other conditions beyond those indicated in the operational sections of this specification is not
implied. Exposure to absolute maximum rating conditions for extended periods may affect
device reliability.

Common DC characteristics TA = -40C to 85C, VCC = 1.8V to 5.5V (unless otherwise noted)
VOL Output Low Voltage(4) IOL = 20 mA, VCC = 5V: 0.9V
VOH Output High Voltage(3) IOH = -20 mA, VCC = 5V: 4.2V

Notes:

  1. “Max” means the highest value where the pin is guaranteed to be read as low
  2. “Min.” means the lowest value where the pin is guaranteed to be read as high
  3. Although each I/O port can source more than the test conditions (20mA at VCC = 5V, 10mA at VCC = 3V) under steady state
    conditions (non-transient), the following must be observed:
    ATmega48A/PA/88A/PA/168A/PA/328/P:
    1] The sum of all IOH, for ports C0 - C5, D0- D4, ADC7, RESET should not exceed 150mA.
    2] The sum of all IOH, for ports B0 - B5, D5 - D7, ADC6, XTAL1, XTAL2 should not exceed 150mA.
    If IIOH exceeds the test condition, VOH may exceed the related specification.
    Pins are not guaranteed to source current greater than the listed test condition.
  4. Although each I/O port can sink more than the test conditions (20 mA at VCC = 5V, 10 mA at VCC = 3V) under steady state
    conditions (non-transient), the following must be observed:
    ATmega48A/PA/88A/PA/168A/PA/328/P:
    1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100 mA.
    2] The sum of all IOL, for ports B0 - B5, D5 - D7, XTAL1, XTAL2 should not exceed 100 mA.
    3] The sum of all IOL, for ports D0 - D4, RESET should not exceed 100 mA.
    If IOL exceeds the test condition, VOL may exceed the related specification.
    Pins are not guaranteed to sink current greater than the listed test condition.

So: 40mA may be achieved, and output voltage is likely to rise when sinking and to drop when sourcing if more then 20mA is being used.
Clearly, up to 300mA may controlled by the '328 IO pins if the current is spread around.