Fix reporting of compilation problems in imported .ksy specs
Consider the following cases when an imported spec contains problems (the compiler version used was the latest KSC 0.11-SNAPSHOT built from `master` - [`2b84e0a1`](https://github.com/kaitai-io/kaitai_struct_compiler/tree/2b84e0a1e29712304debf709c143d9505e3062ca)):

1. `imports_err_fatal` importing `attr_bad_id` with a fatal error:

   `imports_err_fatal.ksy`
   ```ksy
   meta:
     id: imports_err_fatal
     imports:
       - attr_bad_id
   ```
   
   `attr_bad_id.ksy`
   ```ksy
   meta:
     id: attr_bad_id
   seq:
     - id: BAD # error: invalid attribute ID: 'BAD', (...)
   ```
   
   ---

   ```console
   $ kaitai-struct-compiler -- -d outdir -t ruby imports_err_fatal.ksy
   imports_err_fatal: /meta/imports/0:
   	error: (main): /seq/0/id:
   	error: invalid attribute ID: 'BAD', expected /^[a-z][a-z0-9_]*$/
   
   
   
   ```

2. `imports_err_nonfatal` importing `type_unknown` with a reference to unknown type:

   `imports_err_nonfatal.ksy`
   ```ksy
   meta:
     id: imports_err_nonfatal
     imports:
       - type_unknown
   ```
   
   `type_unknown.ksy`
   ```ksy
   meta:
     id: type_unknown
     ks-opaque-types: false
   seq:
     - id: foo
       type: some_unknown_name # error: unable to find type 'some_unknown_name', (...)
   ```
   
   ---
   
   ```console
   $ kaitai-struct-compiler -- -d outdir -t ruby imports_err_nonfatal.ksy
   ./type_unknown.ksy: /seq/0:
           error: unable to find type 'some_unknown_name', searching from type_unknown
   
   ./type_unknown.ksy: /seq/0:
           error: unable to find type 'some_unknown_name', searching from type_unknown
   
   
   ```

3. `imports_warn` importing `attr_bad_id` with a warning:

   `imports_warn.ksy`
   ```ksy
   meta:
     id: imports_warn
     imports:
       - style_bad_len
   ```
   
   `style_bad_len.ksy`
   ```ksy
   meta:
     id: style_bad_len
   seq:
     - id: size_of_foo # warning: use `len_foo` instead of `size_of_foo`, (...)
       type: u1
     - id: foo
       size: size_of_foo
   ```
   
   ---

   ```console
   $ kaitai-struct-compiler -- -d outdir -t ruby imports_warn.ksy
   ./style_bad_len.ksy: /seq/0/id:
   	warning: use `len_foo` instead of `size_of_foo`, given that it's only used as a byte size of `foo` (see https://doc.kaitai.io/ksy_style_guide.html#attr-id)
   
   ./style_bad_len.ksy: /seq/0/id:
   	warning: use `len_foo` instead of `size_of_foo`, given that it's only used as a byte size of `foo` (see https://doc.kaitai.io/ksy_style_guide.html#attr-id)
   
   
   ```

You can see that in all these cases, the compiler doesn't report the given problem as expected.

The compiler report in case of `imports_err_fatal.ksy` is missing the name of the `attr_bad_id.ksy` spec which actually contains the error (we can see the `(main)` placeholder instead), and I don't think the `imports_err_fatal: /meta/imports/0:` part is actually necessary or helpful to diagnose the error. I think it's enough to report that the imported `attr_bad_id.ksy` spec contains the error, and whether it was imported or not and from where it was imported is irrelevant - it would contain the same error even if it was compiled standalone (i.e. not imported).

Note that warnings and certain non-fatal errors (as in the `imports_err_nonfatal` case) in an imported spec are reported with just the location info of the particular warning, i.e. without the info about where the spec was imported from - so I think all errors should be reported in the same way.

In `imports_err_nonfatal.ksy` and `imports_warn.ksy` cases, the same error/warning is duplicated. Well, apparently the imported .ksy specs are validated twice, but I haven't dug into the code yet, so I don't know why exactly this happens.