pmu-query.py: fix python3 errors, add linux platform support
pmu-query.py: fix python3 errors, add linux platform support

Unfortuantly, commit 0212b382624c744491a845c75dfb2a527d4a821f broke pmu-query
in some unexpected ways.

First, urllib.request.urlopen returns a bytes-object in Python3, which results
in the csv.DictReader throwing the error: `TypeError: initial_value must be
str or None, not HTTPResponse` A simple .read().decode('utf-8') appended to
the end of urlopen fixes the error.

Second, passing the map_file_raw string to DictReader results in a malformed
dictionary. Fix this by wrapping the raw text string in io.StringIO().

Third: During the python2 -> python3 refactoring, I accidentally switched some
logic in the pull request. `if core_path != ''` changed to `if not core_path`,
which breaks the logic, the same goes for
`if offcore_path != ''` -> `if not offcore_path`. Change these to
`if core_path` and `if offcore_path` respectively.

opcm/pcm,opcm/pcm,opcm/pcm,opcm/pcm