core: define initial file API

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
tests: add test-file

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
core: add file struct definition

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
core: implement file

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>