Added flag handling in postings

Change-Id: Ica0186a24278843a5aa4ab263d3c1b801a2df666
diff --git a/lib/Krawfish/Posting.pm b/lib/Krawfish/Posting.pm
index 2e6e05f..e2a4c3e 100644
--- a/lib/Krawfish/Posting.pm
+++ b/lib/Krawfish/Posting.pm
@@ -55,7 +55,7 @@
   my ($self, $flags) = @_;
 
   # Returns a new flag
-  return $_[0]->flags & $flags;
+  return $self->flags & $flags;
 };
 
 
@@ -203,6 +203,10 @@
     $self->start . '-' .
     $self->end;
 
+  if ($self->flags & 0b0111_1111_1111_1111) {
+    $str .= '!' . ($self->flags + 0);
+  };
+
   if ($self->payload->length) {
     $str .= '$' . $self->payload->to_string;
   };
diff --git a/lib/Krawfish/Posting/Doc.pm b/lib/Krawfish/Posting/Doc.pm
index 4d0a69b..571ff37 100644
--- a/lib/Krawfish/Posting/Doc.pm
+++ b/lib/Krawfish/Posting/Doc.pm
@@ -4,12 +4,20 @@
 
 # Document based posting
 
+# TODO:
+#   This should be the base class
+#   with flags!
+
 # Constructor
 sub new {
   my $class = shift;
   my $id = shift;
   bless \$id, $class;
-}
+};
+
+sub flags {
+  0;
+};
 
 # Current document
 sub doc_id {
@@ -17,11 +25,6 @@
 };
 
 
-# Get flags
-sub flags {
-};
-
-
 # Stringification
 sub to_string {
   '[' . ${$_[0]} . ']';
diff --git a/lib/Krawfish/Posting/Token.pm b/lib/Krawfish/Posting/Token.pm
index d2bb9ee..cb28161 100644
--- a/lib/Krawfish/Posting/Token.pm
+++ b/lib/Krawfish/Posting/Token.pm
@@ -35,4 +35,9 @@
 };
 
 
+# No flags defined
+sub flags {
+  0;
+};
+
 1;