Fix nightly fallout

**In progress, currently in green state for k20, all the other platforms need to be done and also will need to run tests + some hw  tests**

Summary of this PR (or what has changed in rustc):

- Option and Result in Core clean up - means the code should use properly namespaces for those 2
- Copy is opt-in, enums and structs by default are non copyable

And one error which we should carefully review, is the one operate on borrowed type error, was no able to track why it suddenly failed.

I would have thought that you could do something like,
```
use core::option::Option::{self, Some, None};
```
here, but I guess this RFC was never adopted.