[componentmgr] Use cm_rust native representation.

This change also makes related improvements:
- cm_rust adds a new type, CapabilityPath, for paths to make it easy to
get dirname/basename
- Tweak error classes so that cm_fidl_validator returns an error::Error
and cm_rust defines its own Error type
- cm_rust now represents `program` and `facets` as fidl (but keeps the
fidl_into converter). The reason being that componentmgr itself doesn't
consume `program`, it just needs to pass it along to the runner. It's
less clear at this point what should happen with `facets`, so I'm
making it a fidl for now to be consistent with `program`.

Change-Id: I886a5529bb74c98ed686062c53e27c222f74d4e4
8 files changed
tree: fe01641abc69881390f9977155af3e43005094bb
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. peridot/
  9. products/
  10. scripts/
  11. sdk/
  12. src/
  13. third_party/
  14. tools/
  15. zircon/
  16. .clang-format
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. AUTHORS
  22. BUILD.gn
  23. CODE_OF_CONDUCT.md
  24. CONTRIBUTING.md
  25. LICENSE
  26. OWNERS
  27. PATENTS
  28. README.md
  29. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.