fix buffer_id initial value bug

some controllers or switches use -1 (or other negative values) to stand for NO_BUFFER, e.g. riplpox, 

the line 

 packed += struct.pack("!QHHHHLHH", self.cookie, self.command,
                            self.idle_timeout, self.hard_timeout,
                            self.priority, self._buffer_id, self.out_port,

will generate a "integer out of range for 'L' format code" exception 

so add two lines to prevent this situation