fixed parsing of multiple dots in function name

as in Lua 5.2 manual (http://www.lua.org/manual/5.2/manual.html#3.4.10):

  The colon syntax is used for defining methods, that is, functions that
  have an implicit extra parameter self. Thus, the statement

    function t.a.b.c:f (params) body end

  is syntactic sugar for

    t.a.b.c.f = function (self, params) body end

I changed the datatype FunName:

  -data FunName = FunName Name (Maybe Name) [Name]
  +data FunName = FunName Name [Name] [Name]

This will break the API!

Multiple dots in method name but only one colon
fix FunName pretty-printer