`macros.error`, `macros.warning`, `macros.hint` easily conflict with routines with the same name
Originally encountered with an error [here](https://github.com/status-im/nimbus-eth1/pull/2684#issuecomment-2392895327).

The routines named [`error`](https://nim-lang.org/docs/macros.html#error%2Cstring%2CNimNode), [`warning`](https://nim-lang.org/docs/macros.html#warning%2Cstring%2CNimNode) and [`hint`](https://nim-lang.org/docs/macros.html#hint%2Cstring%2CNimNode) in `macros` all take a single string argument and an optional NimNode argument for the line info, and return `void`. This means that calls like `error("abc")` will match the overload in `macros`.

But this is a feasible signature for procs in user code, especially logging libraries (like chronicles, which happens to work around it by requiring the `string` also be `static`). If `macros` is imported, calling these procs can easily give overload ambiguity errors. But the `macros` overloads are more specialized, they are only for compile time errors in macros.

To fix this, we can rename the overloads in `macros` to something like `macroError`, `compileTimeError` etc. (not sure which name is best, would appreciate suggestions), then deprecate the old symbols/remove them with a define. Alternatively we can also require the `NimNode` argument for the line info be provided explicitly, but this could still conflict with procs that accept values of any type and stringify them.