MINOR: buffer: add b_end() and b_to_end()

These ones return respectively the pointer to the end of the buffer and
the distance between b->p and the end. These will simplify a bit some
new code needed to parse directly from a wrapping buffer.
diff --git a/include/common/buffer.h b/include/common/buffer.h
index 8043e29..b299466 100644
--- a/include/common/buffer.h
+++ b/include/common/buffer.h
@@ -79,6 +79,18 @@
 		__ret;                                          \
 	})
 
+/* Returns the pointer to the buffer's end (data+size) */
+static inline const char *b_end(const struct buffer *b)
+{
+	return b->data + b->size;
+}
+
+/* Returns the distance between <p> and the buffer's end (data+size) */
+static inline unsigned int b_to_end(const struct buffer *b)
+{
+	return b->data + b->size - b->p;
+}
+
 /* Skips <del> bytes in a one-way buffer <b> : <p> advances by <del>, <i>
  * shrinks by <del> as well, and <o> is left untouched (supposed to be zero).
  * The caller is responsible for ensuring that <del> is always smaller than or