Add macro to be used for writing Serializable objects

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Make the OBJET_SERIALIZABLE expanded methods public by default

Signed-off-by: MHesham <mhesham.fcis@gmail.com>