[CORE] block: Add support for block device partitioning.

This patch introduces block device partition manager APIs and also implements a partition manager for accessing DOS style partitions.

In future, we will have support for more partition manager for different types of partition styles.

Signed-off-by: Anup Patel <anup@brainfault.org>