handle <SKETCHBOOK>/hardware folder more smartly

A problem earlier was that, if there exists
arduino-ide/hardware/arduino
and
SKETCHBOOK/hardware/arduino

Then due to being a HashMap, and the SKETCHBOOK dir
being loaded later, we would find boards and cores etc
from ONLY the SKETCHBOOK hardware dir, and not from the
ide's default hardware folder

for eg,
arduino-ide/hardware/arduino/avr
SKETCHBOOK/hardware/arduino/sam

If both the above folders existed, I would see only the
sam boards and cores in my IDE, and not be
able to see the avr boards and cores etc. 

This patch should allow people to add boards and cores incrementally
in their sketchbook, and IDE will show both the default boards and the 
ones the user added. 

This should make adding 3rd part platforms (be it boards, cores, 
bootloaders, whatever) a more complete and error free experience

Signed-off-by: Arnav Gupta <championswimmer@gmail.com>