OS boundary tests with factory support

- Removed `create_os` fn and moved the implementation to factory with make_os. Similarly make_arch, make_partitiontable for architecture and partition table respectively.
- Added support for creating OS with description
- Added 7 new boundary tests with diff data variations.
- Updated existing tests to use factory implementation
Yeah..will update as suggested.. But there are many other places where its broken like that way. For now, I'll update this only.