PHOENIX-933 Local index support to Phoenix

Updated pull request after resolving conflicts and handling James review comments.
one main difference is there between the two methods James. in addSaltByte if keyrange upper or lower bound is unbound we don't set salting byte. in case of local index if both start or end keys are unbound then only we don't prefix the bytes. So not able to commonize both.