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