table: export getNlri method in Path

peer codes need it. Also remove putNlri() because NLRI is unlikely
changed after path creation because NLRI is used as sorta key value
for path.
table: delete setRoutefamily method in path

unlikely it's used.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
table: use slice instead of homegrown orderedmap

- 4-bytes AS code needs add/delete a new path attribute at the exact
place.
- we would support actions to modify path attributes

Unliley operations on path attributes would perfomance bottle neck so
this commit changes the code to simply use slice to store path
attributes in a path structure.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
table: implement Clone() to copy pathattributes in Path struct

In some cases, we need to modify pathattributes in Path and creates an
update message based on it. Clone() is used to avoid chaning the
pathattributes in the table.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Merge remote-tracking branch 'origin/master' into rest-api
server: conver PEER_MSG_PATH to bgp update

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
server: update AdjRibOut table

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
table: sends updates from AdjRibOut when FSM_ESTABLISHED

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Merge remote-tracking branch 'origin/master' into rest-api
rest: add channel to communicate with bgp server