This is a major refactor that introduces a new
generic type Id<T, I> for tagging any ID with the
model they reference without any runtime overhead.
From now on, it should be pretty much impossible
to pass e.g. a note ID to a function that expects,
say, an account ID.
Furthermore, the follow and like tables have been
simplified to use the two IDs that define the
relationship as a composite primary key.
Finally, likes now have a memory cache.