`defextension` is a new macro to replace the old `extension` macro
to define a new extension. `load-extension` function take an extension
which is defined using `defextension` and load it by loading the file
addressed in extension's `:path` field or if that field i `nil` simply
try to construct a path in FG42's extension directory.
Signed-off-by: Sameer Rahmani <lxsameer@gnu.org>