Move the shebang to line 1 so direct execution works on Linux; the vim
modeline was sitting above it and silently breaking ./Tools/px_mkfw.py.
Fix _merge_manifest to only merge dict values into dst["hardware"] when
the key is "hardware". The previous structure ran the isinstance check
unconditionally, so any dict-valued field in the fragment would have
been shoved into dst["hardware"] regardless of its key, and could
KeyError if a non-"hardware" dict arrived first. It only worked today
because "hardware" happened to be the only dict in the fragment.
Signed-off-by: Ramon Roche <mrpollo@gmail.com>