Retain target file name, to be used in code objects if source not available

If the compiled (*.py$class) file is available without the companion
source file, code objects when loaded now set co_filename to the
target filename originally associated with that file, regardless of
what the name of the file is now. Note as with CPython, modules can be
compiled with a different target filename than their source filename.

Bumps bytecode magic (org.python.core.imp.APIVersion) to 35. Adds a
new retained annotation, org.python.compiler.Filename, to annotate
compiled modules, as implemented using PyFunctionTable.

This change can be seen in the following decompilation of a compiled
Python module:

import org.python.compiler.*;
import org.python.core.*;

@APIVersion(35)
@MTime(1419447569000L)
@Filename("foo.py")
public class foo$py extends PyFunctionTable implements PyRunnable
{  ... }

Fixes the last failing test case in test_import, test_module_without_source