make it more easy for x86 to use memblock. ( rebase )x86 early_res is using find/reserve pattern instead of alloc.

keep it in weak version, so later We can use x86 own version if needed.also We need it in mm/memblock.c, so one caller mm/page_alloc.c could get compiled

-v2: Change name to memblock_find_in_range() according to Michael Ellerman-v3: Add generic weak version __memblock_find_in_range() so keep the path for fallback to x86 version that handle from low-v4: use 0 for failing path-v5: use MEMBLOCK_ERROR again-v6: remove __memblock_find_in_range()