InputContext has wrong asset key with fan-in
This fails:

```python
from dagster import (
    asset,
    op,
    graph_asset,
    materialize,
    load_assets_from_current_module,
)

from typing import List


@asset
def upstream1():
    return "a"


@asset
def upstream2():
    return "b"


@op
def asset_op(upstream_assets: List[str]):
    assert upstream_assets == ["a", "b"], upstream_assets


@graph_asset
def some_asset(upstream1, upstream2):
    return asset_op([upstream1, upstream2])


if __name__ == "__main__":
    materialize(load_assets_from_current_module())
```

Further investigation traces the problem to this line inside `for_input_manager`:
```python
        asset_key = self.job_def.asset_layer.asset_key_for_input(
            node_handle=self.node_handle, input_name=name
        )
```

The arguments being supplied to `asset_key_for_input` will be the same for all the fanned-in inputs, even though they come from different assets.

To fix this, I think we'd need to at least modify `AssetLayer._asset_keys_by_node_input_handle` to capture the fact that a single input can correspond to multiple upstream assets.

diff --git a/python_modules/dagster/dagster/_core/execution/context/system.py b/python_modules/dagster/dagster/_core/execution/context/system.py
index a9c11d2a67..a16a471aba 100644
--- a/python_modules/dagster/dagster/_core/execution/context/system.py
+++ b/python_modules/dagster/dagster/_core/execution/context/system.py
@@ -625,9 +625,10 @@ def for_input_manager(
         else:
             upstream_output = artificial_output_context
 
-        asset_key = self.job_def.asset_layer.asset_key_for_input(
-            node_handle=self.node_handle, input_name=name
-        )
+        asset_key = upstream_output.asset_key
+        # self.job_def.asset_layer.asset_key_for_input(
+        #     node_handle=self.node_handle, input_name=name
+        # )
         asset_partitions_subset = (
             self.asset_partitions_subset_for_input(name)
             if self.has_asset_partitions_for_input(name)
['python_modules/dagster/dagster/_core/execution/context/system.py']